在记事本++中删除空行


384

如何在Notepad ++中替换空行?我尝试了查找,并用查找中的空行替换了内容,但替换中没有任何内容,但是没有用;它可能需要正则表达式。

Answers:


395

您需要类似正则表达式的内容。

你必须处于Extended模式

如果你希望所有的行结束在一个单一的线使用\r\n。如果您只想删除行,请使用\n\r最初建议的@Link。

用任何内容替换任何一个表达式。


21
首先应在搜索模式下选择“扩展”。
q0987 2012年

14
为了使您的线不连接在一起,您必须搜索\r\n\r\n并替换为\r\n
罗伯特·考彻

1
请参阅下面的@BoltClock评论。另外,如果您保存的文件带有Unix行尾,则可以在执行查找和替换操作之前,在“编辑”>“ EOL转换”>“ Windows格式”中将其转换为Windows行尾。
Big McLargeHuge 2012年

9
如果您希望删除仅包含空格和制表符的行,或者不包含任何内容,请尝试使用正则表达式替换来匹配\r\n\W*\r\n并替换为\r\n
Myster14

2
@ ST3嗯我在想什么,这是一个好得多:(\r\n|\r|\n)(\s*(\r\n|\r|\n))+而代之以\r\n看到它在这里的行动:regex101.com/r/qD9dB1/1
Myster

567

从6.5.2版开始,现在有内置的方法可以执行此操作

Edit -> Line Operations -> Remove Empty Lines 要么 Remove Empty Lines (Containing Blank characters)

删除空行的屏幕截图


不幸的是,这没有考虑您的选择,即使您仅选择了其中的一些,它也会删除文件中的所有空行。
法比奥说莫妮卡(Monica)恢复

如果这是一次性操作,则可以将选定的行提取到新的notepad ++选项卡中,然后在该选项卡中执行该操作。复制粘贴过程持续5秒钟。我认为当时无法完成的任何其他解决方法都是浪费。但是,如果您每天都要这样做100次...
信条

我一直在使用它(甚至分配了我的快捷方式),但是它比上面的选项要慢得多,所以请
谨慎

122

有一个插件添加了一个名为 TextFX。此菜单包含令人眼花quick乱的快速文本编辑选项,使人们可以快速更改编码。在此菜单中,您可以找到诸如引号,删除空行以及“展开和重新包装”文本之类的选项。

请执行下列操作:

TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines

7
目前还不确定,但是似乎默认情况下已安装此插件。行标题稍微偏离主题,但其他令人难以置信的有用功能之一TextFX > TextFX Tools就是行排序,可以有选择地删除重复项。sort -u在没有cygwin或unxutils或类似工具的Windows机器上完成Unix的非常方便的方法。
·杰克逊

3
这是TextFx插件的链接。 我发现它非常有用。使用: Settings > Import > plugin...并找到要安装的dll文件。它成为菜单项Plugins
尼古拉斯·皮克林

1
将对所有打开的文档还是一次处理一个文档起作用?
废弃

76
  1. 记事本++
  2. Ctrl-H
  3. 选择正则表达式
  4. 输入^[ \t]*$\r?\n查找内容,将替换为空。这将匹配所有以空格开头并以回车结尾的行(在本例中为Windows crlf)
  5. 单击“查找下一个”按钮以亲自查看它如何仅匹配空行。

1
我必须使用此方法而不是其他一些方法才能使其在宏中轻松工作。谢谢。
Mafu Josh 2014年

5
甚至更短,并且由于多个空行而需要的替换次数也更少,将立即被替换:^ \ s * $ \ r?\ n
njank

30
  1. ctrl + h(替换快捷键)。
  2. 在“ 查找内容”区域中,键入^\R(对于精确的空行)或^\h*\R(仅对于带空白的空行)。
  3. 将“ 替换为”区域保留为
  4. 选中环绕选项。
  5. 选择正则表达式搜索模式。
  6. 单击全部替换按钮。

在此处输入图片说明


1
这对我有效,没有任何问题或其他设置需要更改。谢谢!
Bonez024 '19

19

您可以按照以下屏幕快照中所示的方法进行操作:

  • 找什么: ^\r\n
  • 用。。。来代替: keep this empty
  • 搜索方式: Regular expression
  • 环绕:选择

在此处输入图片说明

注意:对于* nix文件,只需查找\n


17

这为我工作:

  1. ctrl + h(更换快捷方式)
  2. find what框中输入以下正则表达式之一。 [\n\r]+$要么^[\n\r]+
  3. 离开 Replace with框留空
  4. 在中Search Mode,选择Regex
  5. 点击Replace All

    完成!

这是唯一不会破坏我庞大的.csv文件的解决方案。谢谢!
veuncent

1
加一,因为我终于知道了替换的捷径:-D
Betlista

14

在notepad ++中,按CTRL + H,在搜索模式下,单击“扩展(\ n,\ r,\ t ...)”单选按钮,然后在“查找内容”框中键入:\ r \ n(CR LF的缩写) ),并将“替换为”框保留为空。

最后点击全部替换


实际上,我尝试过,请参见答案。你正在做某事!
布拉德(Brad)2010年

3
但是,如果您的文件使用Unix行尾保存,则仅假设行尾为Windows(CRLF),则仅搜索\n
BoltClock

@Brad:我在()之间写了“ CR LF的缩写”,不想让编解码器认为\ n是CR,因此进行了编辑。
巴瑟姆

错误的答案,将所有行放在一行中。
m0skit0

12

好吧,我不确定正则表达式或您的情况。

CTRL + A怎么样,选择TextFX菜单-> TextFX编辑->删除空白行,中提琴所有空白行都消失了。

旁注-如果该行为空白,即不包含空格,则可以使用


12

您可以搜索以下正则表达式:^(?:[\t ]*(?:\r?\n|\r))+并将其替换为空字段


11

Ctrl + H。

找到-\ r \ r替换为-\ r。


这对我有用,从查找双\ r替换为单\ r的意义上讲,删除了多余的行。谢谢!!
genpet 2012年

这很好用,但是我发现在所有\ r \ r实例消失之前,我需要在文档中运行几次。我不确定为什么。
Hawkwing,2013年

7

如果空白行包含制表符或空白,则这显然不起作用。许多网页(例如http://www.guardian.co.uk/由于错误的HTML编辑器,)包含这些白线。

使用正则表达式删除空格,如下所示:

将模式:[\ t] + $更改为空。

其中[\ t]匹配制表符或空格。“ +”匹配一个或多个匹配项,“ $”表示行尾。

然后使用notepad ++ / textFX删除单行或多余的空行。确保这些空白行在给定的上下文中不重要。


5

在此处输入图片说明

有时\ n \ r等不起作用,在这里弄清楚您的实际正则表达式应该是什么。

此技巧的优势:如果要一次替换多个文件,则必须使用此方法。以上将无法正常工作...


5

1)Ctrl + H(或Search 🠆 Replace..)打开“替换”窗口。

2)选择'Search Mode' “正则表达式”

3)在“查找内容”类型^(\s*)(.*)(\s*)$“替换为”类型中\2

  • ^ -匹配行首字符
  • (\s*) -匹配空白字符
  • (.*) -匹配任何字符
  • (\s*) -匹配空格字符
  • $ -匹配行尾字符
  • \2 -表示第二个括号的匹配内容

在此处输入图片说明有关正则表达式的更多信息, 请参阅 https://www.rexegg.com/regex-quickstart.html


4
  1. 编辑>>空白操作>>修剪前导和尾随空格(以删除空白行中的黑色制表符和空格)
  2. Ctrl+ H获取替换窗口和替换模式:不^\r\n执行任何操作(选择正则表达式)

注意:第1步将删除通过制表符和空格完成的代码意图


4

Ctrl + A,选择TextFX菜单-> TextFX编辑->删除空行,如上所示。

但是,如果行中包含一些空格,则将光标移至该行并执行CTRL +H。“查找内容:”秒将显示空白,在“替换为”部分中将其保留为空白。现在删除所有空格,然后尝试按CTRL + A,选择TextFX菜单-> TextFX编辑->删除空白行


4

/n/r假定特定类型的换行符。要定位任何空白行,您还可以使用:

^$

这就是说-任何开始然后结束的行之间都没有任何内容。这更多的是万能的。用相同的空字符串替换。


3

我没有看到合并的答案,因此搜索^ \ s + $并替换为{nothing}

^\s+$ means
  ^ start of line
  \s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
  $ until end of line

如果您想要多行,可以尝试:^\s+^(\S)并替换为\1
jiggunjer


1

从空行中删除空格的简单替代方法:

  1. TextFX> TextFX编辑>修剪尾随空格

这将删除所有尾随空格,包括空白行中的尾随空格。确保没有尾随空格。


0

上面的一些表达式和扩展表达式对我不起作用,但是正则表达式“ $ \ n $”起作用。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.