我经常处理文本文件,这些文本文件中的单词分隔符具有可变的空白量(像Word这样的文本处理器会这样做,由于某些字体中的字母大小不同,会公平地分配空白量,即使在另存为纯文本)。
我想自动化将具有可变长度的空白序列替换为单个空格的过程。我怀疑正则表达式可以做到这一点,但是在段落的开头也有空格(通常是四个空格,但并非总是如此),我想让其保持不变,因此,基本上我的正则表达式也不应碰到开头的空格,并且增加了复杂性。
我正在使用vim,因此如果可行,vim regex方言中的regex对我将非常有用。
我当前的进度看起来像这样:
:%s/ \+/ /g
但它不能正常工作。
我也在考虑编写一个vim脚本,该脚本可以逐行解析文本行,逐字符处理每行字符,并在第一个字符之后跳过空格,但是我觉得这可能会过大。