在Notepad ++中查找CRLF

pol*_*ara 310 regex notepad++

如何在Notepad ++中查找/替换所有CR/LF字符?

我正在寻找与Microsoft Word中的^ p特殊字符相当的东西.

Von*_*onC 400

[\r\n]+ 也应该工作

更新2012年3月26日,Notepad ++ 6.0的发布日期:

天哪,它现在确实有效!!!

Notepad ++中的PCRE regexp


原始答案2008(Notepad ++ 4.x) - 2009-2010-2011(Notepad ++ 5.x)

实际上不,它似乎不适用于正则表达式...

但是如果你有Notepad ++ 5.x,你可以使用' 扩展 '搜索模式并寻找\r\n.这确实找到了你的所有CRLF.

(我意识到这是与其他答案相同的答案,但同样,"扩展模式"仅适用于Notepad ++ 4.9,5.x等)


自2009年4月以来,您在Notepad ++网站上有一篇关于此主题的Wiki文章:
" 如何替换行结束,从而更改行布局 ".
(georgiecasey下面的回答中提到)

一些相关摘录包括以下搜索过程:

简单搜索(Ctrl+ F),搜索模式=Normal

您可以EOL在编辑窗口中选择一个.

  • 只需将光标移动到该行的末尾,然后键入Shift+ Right箭头即可.
  • 或者,EOL用鼠标选择,从行尾开始并拖动到下一行的开头; 向右拖动EOL将无法正常工作.您可以手动将其复制EOL并粘贴到Unix文件的字段中(LF-only).

简单搜索(Ctrl + F),搜索模式=扩展

"扩展"选项显示\n\r可以匹配的字符.
与普通搜索模式一样,Notepad ++正在寻找确切的字符.
搜索\r在UNIX格式的文件也不会发现什么,但寻找\n的意志.同样,Macintosh格式的文件将包含\r但不包含\n.

简单搜索(Ctrl + F),搜索模式=正则表达式

正则表达式使用字符^并将$匹配字符串锚定到行的开头或结尾.例如,搜索return;$会发现"返回"的出现次数.在同一行上没有后续文本的情况下发生.锚字符在所有文件格式中的工作方式相同.
'.' 点元字符与行结尾不匹配.

[在Notepad ++ 5.8.5中测试]:使用显式\r\n不起作用的正则表达式搜索(与Scintilla文档相反).
当选择EOL时,也不会搜索显式(粘贴)LF或放置在字段中的(不可见)EOL字符.没有正则表达式的高级搜索(Ctrl+ R)

Ctrl+ M将插入与换行符匹配的内容.它们将被替换字符串替换.
我建议这种方法最可靠,除非你真的需要使用正则表达式.
例如,要删除双倍行距文件中的每隔一个换行符,请在搜索字符串框中输入Ctrl+ M两次,在替换字符串框中输入一次.

使用Regexp进行高级搜索(Ctrl+ R).

既不Ctrl+ M,$也不\r\n匹配.


同样的wiki还提到了Hex编辑器的替代方案:

  • 在文档的开头键入新字符串.
  • 然后选择以十六进制模式查看文档.
  • 选择一个新行并按Ctrl+ H.
  • 虽然你有替换对话框后,选择在后台与新替换字符串和Ctrl+ C复制到粘贴在文本输入替换.
  • 然后根据需要更换或全部替换.

注意:为新行选择的字符通常显示为0a.
如果文件是Windows格式,则它可能具有不同的值.在这种情况下,你总是可以去Edit -> EOL Conversion -> Convert to Unix Format,并在更换之后切换回来Edit -> EOL Conversion -> Convert to Windows Format.

  • @GarretWilson我确认`[^\r] \n`工作得很好(正则表达式搜索):http://i.stack.imgur.com/PxZWD.png (2认同)

sun*_*ica 22

看来这是一个FAQ,提供的解决方案是:

简单搜索(Ctrl + H)没有正则表达式

您可以打开"查看/显示行尾"或"查看/全部显示",然后选择现在可见的换行符.然后,当您启动命令时,匹配换行符的一些字符将被粘贴到搜索字段中.与正则表达式模式不同,匹配将被替换字符串替换.

注1:如果用鼠标选择它们,请在它们之前启动并拖动到下一行的开头.拖动到行尾不起作用.

注意2:您不能自己将它们复制并粘贴到字段中.

没有正则表达式的高级搜索(Ctrl + R)

Ctrl + M将插入与换行符匹配的内容.它们将被替换字符串替换.

  • 您也可以使用Ctrl + M在替换字符串中插入换行符。 (2认同)
  • 这是一个常见问题解答,因为这是一个非常出色的产品中的设计疣. (2认同)

Nat*_*ver 10

在"替换"对话框中,您要将搜索模式设置为"扩展".正常或正则表达式模式不起作用.

然后只需找到"\ r \n"(或只是\n用于unix文件或只用\ r用于mac格式文件),并将替换设置为您想要的任何内容.


小智 9

我对查找/替换窗口中的\ r \n正则表达式没有太多运气.

但是,这适用于Notepad ++ v4.1.2:

  1. 使用"视图|显示行尾"菜单可以显示行尾字符.(回车换行符应显示为单个着色的CRLF'字符'.)

  2. 选择一个CRLF'字符'(将光标放在一个字符前面,按住SHIFT键,然后按一下RIGHT CURSOR键).

  3. 将CRLF字符复制到剪贴板.

  4. 确保您没有打开查找或查找/替换对话框.

  5. 打开查找/替换对话框."查找内容"字段显示剪贴板的内容:在这种情况下,CRLF字符 - 显示为2个'字符'(可能是一个不可打印的字符?)

  6. 确保"正则表达式"选项为OFF.

现在,您应该能够根据需要进行计数,查找或替换.


小智 6

图像与CRLF

在此输入图像描述


没有CRLF的图像

在此输入图像描述