我有一个文件,其中有类似 ######### Utility Functions #######
的评论.我正在尝试清理它并使其成为 # Utility Functions #
之类的东西这需要我匹配一串超过一个英镑的符号并将其替换为单个英镑符号。
我已经尝试了以下
:%s/#+/#/gc
:%s/"#"+/#/gc
:%s/\#+/#/gc
:%s/(#)+/#/gc
还有一堆。据我了解,# 匹配多个字符(如 * 但方向相反)具有特殊意义。这意味着我必须以某种方式逃避它才能实现上述目标。任何帮助表示赞赏。
最佳答案
试试::%s/\v#{2,}/#/g
#{2,} " 2, means at least two
在大多数正则表达式中,“不止一个”都有一个快捷方式:
+
所以:%s/\v#+/#/g
也可以,如果你使用“非常神奇”(
\v
),见 :h magic
.
关于vim - 如何在vim中查找和替换#(磅)字符的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50329910/