从 6.5.2 版开始,现在有一种内置方法可以做到这一点
Edit -> Line Operations -> Remove Empty Lines
或 Remove Empty Lines (Containing Blank characters)
https://i.stack.imgur.com/XelUW.png
你需要像正则表达式这样的东西。
您必须处于 Extended
模式
如果您希望所有行都以单行结束,请使用 \r\n
。如果您只想删除 empty 行,请按照 @Link 最初的建议使用 \n\r
。
将任一表达式替换为空。
\r\n\r\n
并替换为 \r\n
。
\r\n\W*\r\n
并替换为 \r\n
有一个插件可以添加一个名为 TextFX
的菜单。这个菜单包含一系列令人眼花缭乱的快速文本编辑选项,使人们能够进行快速编码更改。在此菜单中,您可以找到诸如 Drop Quotes、Delete Blank Lines 以及 Unwrap and Rewrap Text 等选项
请执行下列操作:
TextFX > TextFX Edit > Delete Blank Lines
TextFX > TextFX Edit > Delete Surplus Blank Lines
TextFX > TextFX Tools
下的其他非常有用的功能之一是行排序,可以选择删除重复项。在没有 cygwin 或 unxutils 或类似工具的 Windows 机器上执行 Unix sort -u
的非常方便的方法。
Settings > Import > plugin...
并找到 dll 文件进行安装。它通过 Plugins
变成一个菜单项
notepad++ Ctrl-H 选择正则表达式 输入 ^[ \t]*$\r?\n 进入查找内容,将替换留空。这将匹配所有以空格开头并以回车结尾的行(在本例中为 windows crlf) 单击“查找下一个”按钮以亲自查看它如何仅匹配空行。
(^[ \t]*$\s)\s*
并将替换为空。效果很好。谢谢!
^\s*$
适用于多行? ^$ 不应该将其“限制”为一行吗? (@njank 或其他任何人)
按 ctrl + h(替换快捷键)。在“查找内容”区域中,键入 ^\R(用于精确的空行)或 ^\h*\R(仅用于带有空格的空行)。将替换为区域留空。检查环绕选项。选择正则表达式搜索模式。单击全部替换按钮。
https://i.stack.imgur.com/6cGfi.jpg
\h
中的空格和制表符之外,空白处还有其他内容吗?另外 \r?\n
已经包含 Win 和 Unix 换行符,使用 \R
有什么好处?是否有您需要的“常规”用例?
您可以按照以下屏幕截图所示的技术进行操作:
查找内容:^\r\n
替换为:保持为空
搜索方式:正则表达式
环绕:选中
https://i.stack.imgur.com/VRaoT.png
注意: *nix 文件只能由 \n
找到
这对我有用:
按 ctrl + h(替换快捷方式)在 find what 框中写入以下正则表达式之一。 [\n\r]+$ 或 ^[\n\r]+ 将替换为框留空 在搜索模式中,选择正则表达式 单击全部替换完成!
在记事本++中按 CTRL+H ,在搜索模式下单击“扩展(\n,\r,\t ...)”单选按钮,然后在“查找内容”框中键入:\r\n(CR LF 的缩写) 并将“替换为”框留空..
最后点击全部替换
\n
。
好吧,我不确定正则表达式或您的情况..
CTRL+A 怎么样,选择 TextFX 菜单 -> TextFX 编辑 -> 删除空白行和中提琴所有空白行都消失了。
附注 - 如果该行是空白的,即不包含空格,这将起作用
1) Ctrl + H
(或 Search 🠆 Replace..
)打开替换窗口。
2) 选择 'Search Mode'
'正则表达式'
3) 在 'Find What' 中输入 ^(\s*)(.*)(\s*)$
&在 “替换为” 中输入 \2
^ - 匹配行首字符
(\s*) - 匹配空格字符
(.*) - 匹配任何字符
(\s*) - 匹配空格字符
- 匹配行尾字符
\2 - 表示第二个括号的匹配项
https://i.stack.imgur.com/k6v1q.png
您可以搜索以下正则表达式:^(?:[\t ]*(?:\r?\n|\r))+
并将其替换为空字段
Ctrl+H。
查找 - \r\r 替换为 - \r。
如果空白行包含制表符或空格,这显然不起作用。由于 HTML 编辑器故障,许多网页(例如 http://www.guardian.co.uk/)包含这些白线。
使用正则表达式删除空格,如下所示:
改变模式: [\t ]+$ 变为空。
其中 [\t ] 匹配制表符或空格。 '+' 匹配一个或多个匹配项,'$' 标记行尾。
然后使用 notepad++/textFX 删除单个或多余的空行。确保这些空行在给定上下文中不重要。
编辑 >> 空白操作 >> 修剪前导和尾随空格(删除空行中的黑色制表符和空格) Ctrl + H 获取替换窗口并替换模式:^\r\n 无内容(选择正则表达式)
注意:第 1 步将删除您通过制表符和空格完成的代码意图
https://i.stack.imgur.com/UxNET.png
有时 \n\r 等不起作用,在这里弄清楚你的实际正则表达式应该是什么。
此技巧的优点:如果您想一次替换多个文件,则必须使用此方法。上面的行不通...
CTRL+A,选择 TextFX 菜单 -> TextFX 编辑 -> 删除空白行,如上面建议的那样有效。
但是,如果行包含一些空格,则将光标移动到该行并执行 CTRL + H。“查找内容:”秒将显示空格,在“替换为”部分中,将其留空。现在所有空格都已删除,现在尝试 CTRL+A,选择 TextFX 菜单 -> TextFX 编辑 -> 删除空白行
/n/r
假定一种特定类型的换行符。要定位任何空白行,您还可以使用:
^$
这说 - 任何开始和结束的行之间没有任何内容。这更像是一个包罗万象的东西。替换为相同的空字符串。
我没有看到组合的答案,所以搜索 ^\s+$ 并替换为 {nothing}
^\s+$ means
^ start of line
\s+ Matches minimum one whitespace character (spaces, tabs, line breaks)
$ until end of line
^\s+^(\S)
并替换为 \1
。
此模式在 Notepad++ v8.1.1 中测试
它替换每行文本之前和之后的所有 spaces/tabs/blank lines
。
它不应该与文本中间的任何东西混淆。
Find: ^(\s|\t)+|(\s|\t)+$
Replace: leave this blank
Before:
_____________________________________
\tWORD\r\n
\r\n
\tWORD\s\tWORD\s\t\r\n
\r\n
\r\n
WORD\s\s\tWORD\t\sWORD\s\r\n
\t\r\n
\s\s\s\r\n
WORD\s\sWORD\s\s\t\r\n
____________________________________
After:
_____________________________________
WORD\r\n
WORD\s\tWORD\r\n
WORD\s\s\tWORD\t\sWORD\r\n
WORD\s\sWORD
_____________________________________
上面的一些表达式和扩展表达式对我不起作用,但正则表达式“$\n$”可以。
从空行中删除空格的简单替代方法:
TextFX>TextFX 编辑>修剪尾随空格
这将删除所有尾随空格,包括空行中的尾随空格。确保没有尾随空格很重要。
这对我有用:
SEARCH:^\r
REPLACE: (empty)
\n
和 windows eol \r\n
不定期副业成功案例分享