如何在Notepad ++中替换空行? 我尝试了一个find并用find中的空行替换,并且替换中没有任何内容,但它没有用; 它可能需要正则表达式。
从版本6.5.2开始,现在有一种内置方法可以执行此操作
Edit -> Line Operations -> Remove Empty Lines或Remove Empty Lines (Containing Blank characters)
-
不幸的是,这不考虑您的选择,它将删除文件中的所有空行,即使您只选择了其中一些。
-
如果这是一次性操作,您可以将选定的行提取到新的记事本++选项卡并在那里执行该操作。复制粘贴程序5秒。在我看来,在那段时间内无法完成的任何其他解决方法都是浪费。但如果你每天都这样做100次......
-
救生员......谢谢你!
-
我正在使用它(甚至指定了我的快捷方式),但它比上面的选项慢很多,所以要聪明地使用......
你需要像正则表达式这样的东西。
您必须处于Extended模式
如果您希望所有行最终都在一行上,请使用
。如果您只想删除空行,请使用
作为最初建议的@Link。
用任何东西替换任一表达式
-
应首先在搜索模式中选择"扩展"。
-
应该注意的是,替换
上的所有内容可能会导致两条线路连接在一起。 23第23行的文字!
24
25
26第26行文字。r
可以在第23行压缩为23文字!第26行文字。
-
要使您的行不能连接在一起,您必须搜索
并替换为
。
-
请参阅下面的@ BoltClock的评论。此外,如果您的文件使用Unix行结尾保存,则可以在执行查找和替换之前将其转换为编辑> EOL转换> Windows格式的Windows行结尾。
-
如果您希望删除仅包含空格和制表符的行,或者尝试使用正则表达式替换以匹配
\W*
并替换为
-
@Myster首先要说的是我几乎不知道正则表达式,所以如果我错了就道歉。我认为你的建议不会连续多行空行,你测试过它真的有效吗?
-
@ ST3嗯我在想什么,这个更好:(
|
|
)(\s*(
|
|
))+
并替换为
在这里看到它:regex101.com/r/qD9dB1/1
-
当你说 n r你知道你有倒退不是你时,你到底在说什么?
-
@barlop,
用于删除完全空行。例如line 1
line 3
:remove n r将为您留下line 1
line 3
有一个插件添加了一个名为TextFX的菜单。该菜单包含一系列令人眼花缭乱的快速文本编辑选项,使人们能够快速进行编码更改。在此菜单中,您可以找到诸如Drop Quotes,Delete Blank Lines以及Unwrap和Rewrap Text等选项
请执行下列操作:
1 2
| TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines |
-
不知道什么时候,但似乎现在默认安装此插件。稍微偏离主题,但在TextFX > TextFX Tools下,其他一个非常有用的功能是行排序,可选择删除重复项。在没有cygwin或unxutils或类似的Windows机器上执行Unix sort -u的非常方便的方法。
-
这是TextFx插件的链接。我发现它非常有用。使用:Settings > Import > plugin...并找到要安装的dll文件。它成为Plugins的菜单项
-
这会对所有打开的文档或一次一个文档起作用吗?
记事本+ +
按Ctrl-H
选择正则表达式
输入^[ \t]*$
?
进入查找内容,将替换为空。这将匹配所有以空格开头并以回车结束的行(在本例中为windows crlf)
单击"查找下一个"按钮以查看它如何仅匹配空行。
-
我不得不使用这种方法而不是其他一些方法来使它在宏中轻松工作。谢谢。
-
这种方法对我也有用。谢谢。
-
因为多个空行将需要更短和更少的替换,将立即替换:^ s * $ r? n
按ctrl + h(替换快捷键)。
在查找内容区域中,键入^
(对于确切的空行)或^\h*
(仅适用于带空格的空行)。
将"替换为"区域留空。
检查环绕选项。
选择正则表达式搜索模式。
单击"全部替换"按钮。
这对我有用:
按ctrl + h(替换快捷方式)
在find what框中写下以下正则表达式之一。
[
]+$
或^[
]+
将Replace with框留空
在Search Mode中,选择Regex
单击Replace All
完成!
-
这是唯一没有搞砸我巨大的.csv文件的解决方案。谢谢!
-
加一,因为我终于知道替换的快捷方式:-D
您可以按照以下屏幕截图所示的技术操作:
-
找到:^
-
替换为:keep this empty
-
搜索模式:Regular expression
-
环绕:选中
注意:* nix文件只能通过
找到
-
这不适用于Linux eol
。
-
添加了注释@Toto
在记事本++中按CTRL + H,在搜索模式下单击"扩展( n, r, t ...)"单选按钮,然后键入"查找内容"框: r n(CR LF的缩写) )并将"替换为"框留空..
终于命中全部替换
-
错误抱歉...
-
实际上,我试过了,在我的回答中看到了我的澄清。你接受了什么!
-
这假设行结尾是Windows(CRLF),如果你的文件是用Unix行结尾保存的,只搜索
。
-
@Brad:我写的是()"CR LF的缩写",不希望codetrek认为 n是CR,因此编辑。
-
错误的答案,将所有行放在一行。
好吧,我不确定正则表达式或你的情况..
如何CTRL + A,选择TextFX菜单 - > TextFX编辑 - >删除空白行和中提琴所有空行消失。
旁注 - 如果该行为空白,即不包含空格,则可以使用
按Ctrl + H。
找到 - r n r n
替换为 - r。
-
这对我来说很有用,删除额外的线,在找到双 替换单 r的意义上。谢谢!!
-
这很好用,但是我发现在 r n的所有实例都没有之前我需要在我的文档中多次运行它。我不确定为什么。
您可以搜索以下正则表达式:^(?:[\t ]*(?:
?
|
))+并将其替换为空字段
如果空行包含制表符或空格,这显然不起作用。由于错误的HTML编辑器,许多网页(例如http://www.guardian.co.uk/)包含这些白线。
使用正则表达式删除空格,如下所示:
change pattern: [\t ]+$
into nothing.
其中[ t]匹配制表符或空格。 '+'匹配一个或多个匹配项,'$'标记行尾。
然后使用notepad ++ / textFX删除单个或多个空行。
确保这些空白行在给定的上下文中不重要。
有时 n r等不起作用,这里要弄清楚,你的实际正则表达式应该是什么。
此技巧的优点:如果要一次替换多个文件,则必须使用此方法。以上不起作用......
编辑>>空白操作>>修剪前导和尾随空格(删除空行中的黑色标签和空格)
Ctrl + H获取替换窗口并替换模式:^
没有任何内容(选择正则表达式)
注意:第1步将删除通过制表符和空格完成的代码修改
CTRL + A,选择TextFX菜单 - > TextFX编辑 - >删除空行如上所述工作。
但是如果行包含一些空格,则将光标移动到该行并执行CTRL + H."查找内容:"秒将显示空白区域,在"替换为"部分中,将其留空。
现在所有空格都被删除,现在尝试CTRL + A,选择TextFX菜单 - > TextFX编辑 - >删除空行
/n/r假定特定类型的换行符。要定位任何空行,您还可以使用:
这说 - 任何一条线开始,然后在两者之间没有任何结束。这更像是一个包罗万象。替换为相同的空字符串。
我没有看到合并后的答案,所以搜索^ s + $并替换为{nothing}
1 2 3 4
| ^\s+$ means
^ start of line
\s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
$ until end of line |
-
如果您想要多行,可以尝试:^\s+^(\S)并替换为\1。
1)ctrl + h(或Search ?? Replace..)打开替换窗口。
2)选择'Search Mode''正则表达式'
3)在'查找内容'类型^(\s*)(.*)(\s*)$&'替换为'类型\2中
-
^ - 匹配行字符的开头
-
(\s*) - 匹配空白字符
-
(.*) - 匹配任何字符
-
(\s*) - 匹配空格字符
-
$ - 匹配行尾字符
-
\2 - 表示第二个括号的匹配竞争
有关正则表达式的更多信息,请参阅https://www.rexegg.com/regex-quickstart.html。
从空行中删除空白区域的简单方法:
TextFX> TextFX编辑>修剪尾随空格
这将删除所有尾随空格,包括空行中的尾随空格。
确保没有尾随空格是重要的。
这很简单
ctrl + H.
Find :
Replcate with :
See Snap
BLOCKQUOTE>
BLOCKQUOTE>
这项工作对我来说:
1 2 3
| SEARCH:^
REPLACE: (empty) |
-
这不适用于linux eol
和windows eol
上面的一些表达式和扩展表达式对我不起作用,但正则表达式"$ n $"确实如此。