问题描述
我有10万行文件,每行包含日期12/13/2019。我想将该日期替换为12/20/2019。但是当我输入命令时:%s / 12/13/2019/12/20/2019 / g。它给出了找不到模式的错误。 日期格式为(MM / DD / YYYY)
解决方法
替换由几个部分组成:
:<range>s/<search>/<replace>/<flags>
在这些部分之间,您将/
作为默认分隔符。由于/
将<search>
部分与<replace>
部分分开,因此您的搜索模式中的任何/
都将被解释为分隔符,从而导致不良结果。
一种解决方案是用反斜杠转义您的斜杠:
:%s/12\/13\/2019/12\/20\/2019/g
另一个(我最喜欢的)是使用替代分隔符:
:%s@12/13/2019@12/20/2019@g
参考:
:help :s
:help pattern-delimiter