regex Notepad++中的正则表达式以删除空行

dddzy1tm  于 2022-12-01  发布在  其他
关注(0)|答案(8)|浏览(118)

我有多个html文件,其中一些有一些空行,我需要一个正则表达式来删除所有空行,只留下一个空行。所以它删除任何超过一个空行,并留下那些只是一个或没有(没有喜欢在有文本在他们)。
我还需要它考虑行不是完全空白,因为有些行可能有空格或制表符(字符不显示),所以我需要它考虑这些行与regex要删除,只要它是一个以上的行。

wqnecbli

wqnecbli1#

搜寻

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

inkz8wg9

inkz8wg92#

这对我在notepad++ v6.5.1. UNICODE windows 7上起作用了
搜索近期文章
替换为:* 无,保留空白 *
搜寻模式:Regular expression.

tvz2xvvm

tvz2xvvm3#

搜索(\r?\n(\t| )*){3,},替换为\r\n\r\n,检查“正则表达式”和“。匹配换行符”。
使用记事本++ 6.2测试

raogr8fs

raogr8fs4#

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

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

7lrncoxx

7lrncoxx5#

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

cngwdvgl

cngwdvgl6#

我测试了上面的任何建议,总是要么太少,要么太多删除。所以要么你没有得到空行,至少有一个是事先或删除不够(空格被留下,等等)。不幸的是,我不能写评论。测试了6.1.5和更新到6.2,并再次测试。取决于如何mayn文件有,我会建议使用

Edit->Blank Operations->Trim trailing whitespace

然后按Ctrl+A和

TextFX -> TextFX Edit -> Delete surplus blank lines

一个宏我试图记录不工作。甚至有一个宏只是删除尾随空格(Alt+Shift+S,见设置|快捷方式Map器...| Macros)。有一个

Edit->Blank Operations->Remove unnecessary EOL and whitespace

但这会删除每个EOL并将所有内容放在一行中。

wqsoz72f

wqsoz72f7#

在记事本++ v8.4.7中有以下选项:
编辑〉行操作〉删除空行(包含空白字符)

编辑〉行操作〉删除空行
所以不需要使用正则表达式,但是一次只能对一个文件有效。

csbfibhn

csbfibhn8#

我查找了^\r\n,并在“替换为”文本框中单击“全部替换”。

相关问题