我有多个 html 文件,其中一些有一些空行,我需要一个正则表达式来删除所有空行并只留下一个空行。所以它删除了不止一个空行,并留下那些只有一个或没有的(不像在其中有文字)。
我还需要它来考虑不完全空白的行,因为某些行可能有空格或制表符(不显示的字符),所以我需要它考虑这些行,只要它更多不止一条线。。
搜索
^([ \t]*)\r?\n\s+$
并替换为
\1
解释:
^ # Start of line
([ \t]*) # Match any number of spaces or tabs, capture them in group 1
\r?\n # Match one linebreak
\s+ # Match any following whitespace
$ # until the last possible end of line.
\1
然后将包含第一行空白字符,因此当您将其用作替换字符串时,只会保留第一行空白(不包括末尾的换行符)。
这对我有用notepad++ v6.5.1. UNICODE windows 7
搜索: ^[ \t]*\r\n
替换为:无,留空
搜索模式:Regular expression.
搜索(\r?\n(\t| )*){3,}
,替换为\r\n\r\n
,检查“正则表达式”和“。匹配换行符”。
使用记事本++ 6.2 测试
这将替换包含空格(或不包含空格)的连续空白行,并将其替换为一个新行。
搜索
(\s*\r?\n){3,}
用。。。来代替
\r\n
您可以自己找到需要替换为 \n\n 或 \n\r\n 或 \r\n\r\n 等的内容......现在您甚至可以^([ \t]*)\r?\n\s+$
根据需要修改正则表达式。
我测试了上述任何建议,总是太少或太删除。这样要么你没有空行,其中至少有一个是预先删除的,要么是删除的不够多(留下了空格等)。不幸的是,我还不能写评论。用 6.1.5 测试并更新到 6.2 并再次测试。取决于可能有多少文件,我建议使用
Edit->Blank Operations->Trim trailing whitespace
后跟Ctrl+A和
TextFX -> TextFX Edit -> Delete surplus blank lines
我尝试录制的宏不起作用。甚至还有一个用于删除尾随空格的宏(Alt+ Shift+ S,请参阅设置 | 快捷方式映射器... | 宏)。有个
Edit->Blank Operations->Remove unnecessary EOL and whitespace
但这会删除每个 EOL 并将所有内容放在一行中。
我^\r\n
在“替换为”文本框中查找并单击“全部替换”,没有任何内容(空)。