所以我正在寻找一种方法来采取这样的事情
Two words
Three Words Here
并用这个替换它
Twowords = myHash["Two words"];
ThreeWordsHere = myHash["Three Words Here"];
我发现了这个问题,这导致我使用 sub-replace 命令,然后我遇到了这样的事情。
%s/\(\([A-z ]\)\+\)/\=substitute(submatch(1), ' ', '', 'g')/
现在这将得到没有空格的匹配出现,但等号后将没有任何内容。在替换表达式之后添加文本会导致“E51:无效表达式”错误。
我的问题是:有没有办法结束表达式,并向 :s 命令添加更多文本?像这样的东西。
%s/\(\([A-z ]\)\+\)/\=substitute(submatch(1), ' ', '', 'g') = myHash["\1"];/
我找不到任何东西。我查看了 :help sub-replace-\= 和其他在线资源。谢谢!