如何在Notepad++中查找/替换所有CR/LF字符?
我想要相当于Microsoft Word中的^p特殊字符的东西。
[\r\n]+
也应该有效。
更新于2012年3月26日,Notepad++ 6.0发布日期:
天啊,它现在竟然能用了!!!
原始答案2008(Notepad ++ 4.x)-2009-2010-2011(Notepad ++ 5.x)
实际上,不是的,似乎它不能使用正则表达式...
但是,如果您有Notepad ++ 5.x,则可以使用“扩展”搜索模式,并查找\r\n
。这确实找到了所有的CRLF
。
(我意识到这与其他人给出的答案相同,但再次强调,“扩展模式”仅适用于Notepad ++ 4.9、5.x及更高版本)
自2009年4月以来,Notepad++网站上有一篇关于这个主题的维基文章:
"如何替换行尾,从而改变行布局".
(由georgiecasey在他/她的下面的回答中提到)
一些相关的摘录包括以下搜索过程:
Normal
您可以在编辑窗口中选择一个EOL
。
EOL
,从行末开始拖动到下一行的开头;向EOL
右侧拖动不起作用。
您可以手动复制EOL
并将其粘贴到仅包含Unix文件(LF
-only)的字段中。"扩展"选项显示\n
和\r
作为可能匹配的字符。
与普通搜索模式一样,Notepad++正在寻找确切的字符。
在UNIX格式文件中搜索\r
将找不到任何内容,但搜索\n
将会。同样,Macintosh格式文件将包含\r
但不包含\n
。
正则表达式使用字符^
和$
将匹配字符串锚定到行的开头或结尾。例如,搜索return;$
将找到出现在同一行上没有后续文本的"return;"。锚定字符在所有文件格式中的工作方式相同。
'.'点元字符不匹配行结束符。
[在Notepad++ 5.8.5中测试]: 使用显式的\r
或\n
进行正则表达式搜索不起作用(与Scintilla文档相反)。
同样,在选择EOL时放置在字段中的(不可见)EOL字符也不能搜索。
高级搜索(Ctrl+R)不使用正则表达式
Ctrl+M将插入与换行符匹配的内容。它们将被替换为替换字符串。
我建议这种方法是最可靠的,除非您真的需要使用正则表达式。
例如,在双倍间隔的文件中删除每个第二个换行符,输入Ctrl+M两次到搜索字符串框中,并在替换字符串框中输入一次。
无法匹配Ctrl+M,$
或\r\n
。
同一维基百科还提到了Hex编辑器替代方案:
- 在文档开头输入新字符串。
- 然后选择以Hex模式查看文档。
- 选择其中一行并按下Ctrl+H。
- 当您打开替换对话框时,选择新替换字符串的背景,并使用Ctrl+C将其复制粘贴到“替换为”输入框中。
- 然后根据需要进行替换或全部替换。
注意:通常用于新行的字符显示为
0a
。
如果文件处于Windows格式,则可能具有不同的值。在这种情况下,您可以随时转到编辑 -> EOL转换 -> 转换为Unix格式
,并在替换后切换回来和编辑 -> EOL转换 -> 转换为Windows格式
。
[^\r]\n
可以正常工作(正则表达式搜索):http://i.stack.imgur.com/PxZWD.png - VonC看起来这是一个常见问题解答,提供的解决方案如下:
不使用正则表达式的简单搜索(Ctrl+H)
您可以打开“视图/显示行尾”或“视图/显示全部”,并选择当前可见的换行符。然后,在开始命令时,与换行符匹配的一些字符将被粘贴到搜索字段中。与正则表达式模式不同,匹配项将被替换为替换字符串。
注意1:如果用鼠标选择它们,请从它们之前的位置开始拖动到下一行的开头。拖到行末是不行的。
注意2:您不能将它们自己复制并粘贴到字段中。
不使用正则表达式的高级搜索(Ctrl+R)
Ctrl+M将插入与换行符匹配的内容。它们将被替换为替换字符串。
在替换对话框中,您需要将搜索模式设置为“扩展”。普通或正则表达式模式不起作用。
然后只需查找“\r\n”(对于Unix文件只需使用“\n”,对于Mac格式文件只需使用“\r”),并将替换设置为您想要的任何内容。
\r
了...(现在是Unix)。 - Jasper我在查找/替换窗口中使用正则表达式并没有什么好运气。
但是,在Notepad++ v4.1.2中,以下方法可行:
使用“视图|显示行尾”菜单启用行尾字符的显示。 (回车换行应显示为单个阴影CRLF '字符'。)
选择其中一个CRLF '字符'(将光标放在其前面,按住SHIFT键,然后按一次右箭头键)。
将CRLF字符复制到剪贴板。
确保您没有打开查找或查找/替换对话框。
打开查找/替换对话框。 “查找内容”字段显示剪贴板的内容:在本例中是CRLF字符-它显示为2个“盒子字符”(可能是不可打印的字符?)
确保“正则表达式”选项处于关闭状态。
现在,您应该能够根据需要计数、查找或替换。
带有CRLF的图像
不带CRLF的图像
DC2
"。Notepad++版本:7.5.6(2018-05-19)。 - Peter Mortensen
CTRL+H
,选择“搜索模式:正则表达式”。将“查找内容”设置为“$”,将“替换为”设置为“\r”。将内容复制粘贴到记事本中或保存到磁盘中。 - Guru[\r\n]+
这样的正则表达式现在可以使用了。我已经更新了我的答案,而且会庆祝一下! - VonC\R
,它可以匹配通用换行符;也就是说,任何被视为换行序列的东西...。 - bobble bubble