4

我有多个 html 文件,其中一些有一些空行,我需要一个正则表达式来删除所有空行并只留下一个空行。所以它删除了不止一个空行,并留下那些只有一个或没有的(不像在其中有文字)。

我还需要它来考虑不完全空白的行,因为某些行可能有空格或制表符(不显示的字符),所以我需要它考虑这些行,只要它更多不止一条线。。

4

7 回答 7

9

搜索

^([ \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然后将包含第一行空白字符,因此当您将其用作替换字符串时,只会保留第一行空白(不包括末尾的换行符)。

于 2012-10-18T13:21:15.210 回答
9

这对我有用notepad++ v6.5.1. UNICODE windows 7

搜索: ^[ \t]*\r\n

替换为:无,留空

搜索模式:Regular expression.

于 2013-12-11T18:35:51.053 回答
2

搜索(\r?\n(\t| )*){3,},替换为\r\n\r\n,检查“正则表达式”和“。匹配换行符”。

使用记事本++ 6.2 测试

于 2012-10-18T13:30:50.677 回答
2

这将替换包含空格(或不包含空格)的连续空白行,并将其替换为一个新行。

搜索 (\s*\r?\n){3,}

用。。。来代替 \r\n

于 2012-10-18T13:33:22.010 回答
2

在此处输入图像描述

您可以自己找到需要替换为 \n\n 或 \n\r\n 或 \r\n\r\n 等的内容......现在您甚至可以^([ \t]*)\r?\n\s+$根据需要修改正则表达式。

于 2014-12-16T03:27:03.307 回答
1

我测试了上述任何建议,总是太少或太删除。这样要么你没有空行,其中至少有一个是预先删除的,要么是删除的不够多(留下了空格等)。不幸的是,我还不能写评论。用 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 并将所有内容放在一行中。

于 2012-10-18T14:56:48.757 回答
0

^\r\n在“替换为”文本框中查找并单击“全部替换”,没有任何内容(空)。

于 2017-08-28T07:26:20.003 回答