我正在寻找一种方法来替换除最后一行之外的所有点.
例:
Blah - whatever - foo.bar.baz.avi 应该成为
Blah - whatever - foo bar bar.avi
由于我在文件中有多行,并且每行中点的数量不同,我正在寻找通用的解决方案,而不是像"替换第一个X匹配"那样,X是常量.
Fel*_*ing 11
这似乎可以解决问题:
%s/\.\(.*\.\)\@=/ /g
Run Code Online (Sandbox Code Playgroud)
\@=是一个先行者.如果有任何后续句号,它只匹配一个句号.
见:help zero-width.
小智 6
作为第一个答案的变体,您可能更喜欢这种语法:
%s/\.\ze.*\./ /g
Run Code Online (Sandbox Code Playgroud)
它让你在搜索运算符后面有一个跟随完全停止的断言.