Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试搜索并替换所有出现的反斜杠,然后将单引号替换为一个反斜杠和引号。像这样:
Everyone\\\\\\\\\\\\\\\'s在Everyone\'s VI 中。
Everyone\\\\\\\\\\\\\\\'s
Everyone\'s
它还应该替换blah\\\\\\\'\':blah\'\'
blah\\\\\\\'\'
blah\'\'
我无法弄清楚该怎么做。
试过::%s/\\\+\'/\\'/但它只适用于第一个。
:%s/\\\+\'/\\'/
我也试过::%s/\\\+?\'/\\'/但这不起作用。
:%s/\\\+?\'/\\'/
它的正确正则表达式应该是什么?
这符合您的要求:
将所有出现的反斜杠后跟单引号替换为 一个反斜杠和引号。
%s/\\\+'/\\'/g
你的两个例子:
Everyone\\\\\\\\\\\\\\\'s -> Everyone\'s blah\\\\\\\'\' -> blah\'\'
用 vim 7.3 测试
这对我有用:
%s/[\\\\]*'/'/
请注意,代码标记将 '\' 的四个实例压缩为两个:括号内有四个反斜杠。
感谢您修复,罗希特!