使用正则表达式删除任何空白或空白行

Remove any blank or whitespaced lines using regex

我正在尝试使用正则表达式查找并删除 OpenOffice 文档中的任何空白行或空白行。

目前我可以分两步完成:

  1. 搜索 ^$ 并替换为空。

    这将删除所有空行。

  2. 搜索 ^\s*$ 并替换为空。

    这将删除所有仅包含空格或制表符的行。

    重要说明:从我的角度来看,第二版也应该删除任何空行(作为第一版),但实际上它没有。

所以,其实有两个问题。

测试文本:

Just for example, I changed spaces to dots
and tabs to dashes.


aa

..........................

-------------------

aaaaaaaaaaaaaa

aaaaaaaaaaaaaaaaaaa

想要的结果:

aa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa

AltSearch 可以使用批处理脚本一步完成。在 AltSearch 对话框中,单击 Batch >>。然后 Edit 文件并在末尾粘贴以下代码。

[Name] Remove any blank or whitespaced lines

  ; Remove any lines which contains only spaces or tabs.
  [Find]^\s*$
  [Replace]
  [Parameters] MsgOff Regular 
  [Command] ReplaceAll  

  ; Remove any empty lines.
  [Find]^$
  [Replace]
  [Parameters] MsgOff Regular 
  [Command] ReplaceAll

[End]  

现在,保存文本文件并单击 Refresh。最后,单击 Remove any blank or whitespaced lines 并按 Execute

这会产生所需的结果并显示一个对话框:

Batch   'Remove any blank or whitespaced lines'   is ended. 

10  replacements have been done.

因为你的问题的标题读起来像是在要求一个纯正则表达式(这就是我找到它的原因):

\s(?=\s)

只需将其匹配替换为空 - 参见 Regex101 and Regexr