如何在 "." 时使用 Vim split()作为模式
How to use Vim split() when "." as pattern
我正在尝试编写一个 Vim 脚本,我需要拆分输入,如下所示:
"expr.expr"
在 "."
using split("expr.expr", ".")
预期输出为:['expr' , 'expr']
但实际输出是:[]
用其他东西改变 "."
,比如 ","
可以,但我需要它是 "."
您需要转义 .
,否则您将根据模式 .
进行拆分,即 'anything',从而得到一个空数组。
请改用 split("expr.expr", '\.')
。
单引号和双引号的区别可以看:help literal-string
:
Single quoted strings are useful for patterns, so that backslashes do not need
to be doubled. These two commands are equivalent:
if a =~ "\s*"
if a =~ '\s*'
我正在尝试编写一个 Vim 脚本,我需要拆分输入,如下所示:
"expr.expr"
在 "."
using split("expr.expr", ".")
预期输出为:['expr' , 'expr']
但实际输出是:[]
用其他东西改变 "."
,比如 ","
可以,但我需要它是 "."
您需要转义 .
,否则您将根据模式 .
进行拆分,即 'anything',从而得到一个空数组。
请改用 split("expr.expr", '\.')
。
单引号和双引号的区别可以看:help literal-string
:
Single quoted strings are useful for patterns, so that backslashes do not need
to be doubled. These two commands are equivalent:
if a =~ "\s*"
if a =~ '\s*'