我正在尝试使用正则表达式查找并删除 OpenOffice 文档中的任何空白或空白行。
目前我可以分两步完成:
搜索
^$
并替换为任何内容。这将删除所有空行。
搜索
^\s*$
并替换为任何内容。这将删除所有仅包含空格或制表符的行。
重要说明:从我的角度来看,第二个版本还应该删除所有空行(与第一个版本一样),但实际上并没有。
所以,实际上有两个问题。
出于什么原因,第二个正则表达式仅匹配带有空格和制表符的行,但不匹配空行?
有没有办法将第一个版本和第二个版本结合起来一步实现所需的结果?这是我尝试过的:
^$|^\s*$
和(^|^\s*)$
。但这不起作用。它只匹配空白行,但不匹配空行。
测试文本:
Just for example, I changed spaces to dots
and tabs to dashes.
aa
..........................
-------------------
aaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa
期望的结果:
aa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa
最佳答案
AltSearch可以使用批处理脚本将其作为一个步骤来完成。在 AltSearch 对话框中,单击Batch >>
。然后编辑
该文件并将以下代码粘贴到末尾。
[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]
现在,保存文本文件并单击刷新
。最后,单击删除任何空白行
,然后按执行
。
这会产生所需的结果并显示一个对话框:
Batch 'Remove any blank or whitespaced lines' is ended.
10 replacements have been done.
关于regex - 使用正则表达式删除任何空白或空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44528155/