简单的替代

时间:2013-11-22 14:17:28

标签: vim vi

如何将&&&&&&&&&替换为&?我尝试了:%s/&&&&&&&&&/&/g,但我只获得了更多&

4 个答案:

答案 0 :(得分:5)

因为&在替换部分中是特殊的(它意味着“整个匹配的字符串”),所以你必须逃避它:

:%s/&&&&&&&&&/\&/g

(请注意替换部分中&之前的反斜杠。)

答案 1 :(得分:4)

您需要在替换字符串

中使用&转义\
:%s/&&&&&&&&&/\&/g

在替换字符串中,&具有特殊含义并包含匹配字符串。

因此,在你的情况下,你只是替换自己,因此没有变化。


如果您的意图是用一个替换多个&,请尝试按照

:%s/&\+/\&/g

答案 2 :(得分:4)

您必须在替换部分中转义&。非转义,&指的是整场比赛。

:%s/&&&&&&&&&/\&/g

答案 3 :(得分:-3)

表达式中需要量词:

:%s/&\+/&/g

不确定它是否像vim中的那样,它是默认的正则表达式,加号告诉它应该捕获一个或多个'&'的任意组合标志,使用& {9}应该找到正好九个