如何替换notepad++中的空行?我尝试了一个发现和替换与空行在发现,并没有在替换,但它不工作;它可能需要正则表达式。


当前回答

你可以按照下面截图所示的技巧进行操作:

找到什么:^\r\n 替换为:保持此为空 搜索方式:正则表达式 环绕:选定

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

其他回答

在记事本++按CTRL+H,在搜索模式下点击“扩展(\n, \r, \t…)”单选按钮,然后在“查找什么”框中输入:\r\n (CR LF的缩写),并留下“替换”框为空。

最后点击替换全部

有时\n\r等不工作,在这里找出它,你实际上的正则表达式应该是什么。

这个技巧的优点:如果你想一次在多个文件中替换,你必须需要这个方法。以上都不行…

这个模式在notepad++ v8.1.1中进行了测试

它替换每行文本前后的所有空格/制表符/空行。

它不应该干扰文本中间的任何东西。

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
_____________________________________

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

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

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

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

更改模式:[\t]+$ 到什么。

[\t]匹配制表符或空格。'+'匹配一个或多个出现,'$'标记行结束。

然后使用notepad++/textFX删除单个或额外的空行。 请确保这些空行在给定的上下文中没有意义。