我经常使用具有可变数量的空格作为单词分隔符的文本文件(像Word这样的文本处理器会这样做,因为某些字体中的字母大小不同,所以公平地分配空白量,并且即使在另存为纯文本)。
我想自动化将这些具有可变长度的空格序列替换为单个空格的过程。我怀疑正则表达式可以做到这一点,但是段落开头也有空格(通常是四个,但并非总是),我希望保持不变,所以基本上我的正则表达式也不应该触及前导空格,这增加了复杂性。
我正在使用 vim,因此如果可行的话,vim 正则表达式方言中的正则表达式对我来说非常有用。
我目前的进度是这样的:
:%s/ \+/ /g
但它不能正常工作。
我也在考虑编写一个 vim 脚本,它可以逐行解析文本行,逐个字符处理每一行并跳过第一个行之后的空格,但我有一种感觉这有点矫枉过正。
这将替换 2 个或更多空格
s/ \{2,}/ /g
或者您可以在之前添加一个额外的空格\+
到你的版本
s/ \+/ /g
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)