是否有一种方法可以使变量在字符串内扩展,还是始终需要像这样连接它们:
'Hello, ' . s:name . '!'
#1 楼
单引号和双引号字符串之间的唯一区别与反斜杠有关。要显示特殊字符,例如换行符,铃声,制表符等,您需要使用双引号->"\n"
。 在单引号字符串中,
'\'
本身就是=> '\n'
是两个字符的字符串(反斜杠+ n
)。在双引号中,您必须将其加倍-> "\"
,这使它们在定义正则表达式时不切实际。 关于字符串扩展,您有几种选择:
'Hello, ' . s:name . '!'
join(['Hello, ', s:name, '!'], '')
-我们从不使用printf('Hello %s!', s:name)
lh#fmt#printf('Hello %1!', s:name)
-来自lh-vim-lib,当我们不想了解类型,不需要格式化字段时,但是当我们想使用类似以下格式的时候: 'Hello %1. How are you doing %1 this %2
'。
评论
是否可以在单引号字符串中包含'?
–汤姆·黑尔
16/09/28'2:41
@TomHale。是的。加倍。 ->'foo'bar',或同时使用两种引号:'foo'。“'”。'bar'
–卢克·赫米特(Luc Hermitte)
16-09-28在7:40