我正在尝试使用正则表达式在OpenOffice文档中查找和删除任何空白或空白行。
目前我可以分两步完成:
搜索^$
并替换为空。
这将删除所有空行。
搜索^\s*$
并替换为空。
这将删除任何只包含空格或制表符的行。
重要说明:从我的角度来看,第二个版本也应该删除任何空行(作为第一个版本),但实际上它并没有。
所以,实际上有两个问题。
出于什么原因,第二个正则表达式只匹配带有空格和制表符的行,但不匹配空行?
有没有办法将第一版和第二版结合起来,一步到位?这是我尝试过的内容:^$|^\s*$
和(^|^\s*)$
。但它不起作用。它只匹配空白行,但不匹配空行。
测试文字:
Just for example, I changed spaces to dots
and tabs to dashes.
aa
..........................
-------------------
aaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa
期望的结果:
aa
aaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa
答案 0 :(得分:1)
AltSearch可以使用Batch脚本作为一个步骤执行此操作。在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.
答案 1 :(得分:1)