在Notepad ++中查找CRLF

时间:2008-09-25 15:24:27

标签: regex notepad++

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

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

18 个答案:

答案 0 :(得分:395)

[\r\n]+ 也应该有用

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

OMG,它现在确实可以工作!!!

PCRE regexp in Notepad++


原始答案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文章:
“的 How To Replace Line Ends, thus changing the line layout ”。
georgiecasey在他/她answer below

中提到

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

  

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

     

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

     
      
  • 只需将光标移动到该行的末尾,然后键入 Shift + Right 箭头。
  •   
  • 或者,要用鼠标选择EOL,请从行尾开始并拖动到下一行的开头;拖动到EOL的右侧将无效。   您可以手动复制EOL并将其粘贴到Unix文件的字段中(仅限LF)。
  •   
     

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

     

“扩展”选项会将\n\r显示为可以匹配的字符   与普通搜索模式一样,Notepad ++正在寻找确切的字符   在UNIX格式文件中搜索\r将找不到任何内容,但搜索\n将会找到。同样,Macintosh格式的文件将包含\r但不包含\n

     

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

     

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

     

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

     

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

     

使用正则表达式进行高级搜索( 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

答案 1 :(得分:22)

这似乎是FAQ,提供的解决方案是:

  

简单搜索(Ctrl + H),无正则表达式

     

您可以启用“查看/显示行尾”   或查看/显示全部,然后选择现在   可见的换行符。然后呢   你启动命令一些字符   匹配换行符将是   粘贴到搜索字段中。火柴   将被替换取代   字符串,与正则表达式模式不同。

     

注1:如果选择它们   鼠标,在它们之前开始并拖动   到下一行的开头。   拖动到行尾不会   工作。

     

注意2:您无法复制和粘贴   他们自己进入了这个领域。

     

高级搜索(Ctrl + R),无正则表达式

     

Ctrl + M会插入符合换行符的内容。它们将被替换字符串替换。

答案 2 :(得分:10)

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

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

答案 3 :(得分:9)

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

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

  1. 使用“查看|显示行尾”菜单可以显示行尾字符。 (回车换行符应显示为单个着色的CRLF'字符'。)

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

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

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

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

  6. 确保“正则表达式”选项为OFF。

  7. 现在,您应该可以根据需要进行计数,查找或替换。

答案 4 :(得分:6)

带有CRLF的图像

enter image description here

没有CRLF的图片

enter image description here

答案 5 :(得分:4)

我发现它的工作方式是使用Replace功能,使用“\ n”和“扩展”模式。我使用的是5.8.5版本。

答案 6 :(得分:4)

2013年,v6.13或更高版本,请使用:

菜单编辑 EOL转换 Windows格式

答案 7 :(得分:2)

使用高级搜索选项( Ctrl + R )并使用CRLF的键盘快捷键( Ctrl + M )插入一个回车。

答案 8 :(得分:2)

转到视图->显示符号->显示所有字符                         //它对我有用

答案 9 :(得分:2)

如果您需要进行复杂的正则表达式替换,包括\ r \ n,您可以通过三步法解决限制:

  1. 将所有\r\n替换为代码,让我们说#GO#→检查'扩展',将\r\n替换为#GO#
  2. 执行正则表达式,例如从html书签中删除多行ICON="*"→检查正则表达式,替换ICON=.[^"]+.> by >
  3. 放回\ r \ n→选中'扩展',将#GO#替换为\r\n

答案 10 :(得分:2)

假设它有一个“正则表达式”搜索,请查找\ r \ n。我更喜欢\ r?\ n,因为有些文件不使用回车。

编辑:感谢您的反馈,无论是谁投票。我已经了解到......好吧,没有,因为你没有提供反馈。为什么这是错的?

答案 11 :(得分:1)

我在Notepad ++中打开了文件,并通过几个步骤进行了替换:

  1. 将所有“\ r \ n”替换为“\ r \ n”
  2. 将所有“; \ r \ n”替换为“\ r \ n”
  3. 将所有“\ r \ n”全部替换为“”
  4. 这会将所有中断放在应有的位置,并删除那些破坏文件的内容。

    它对我有用。

答案 12 :(得分:1)

我完全无法在NP v6.9中做到这一点。 我发现在Msoft Word(2K)上足够简单。

打开文档,转到“编辑”->“替换”。

然后在搜索框底部,单击“更多”,然后找到“特殊”按钮,它们将为您提供一些帮助。对于Dos风格,我使用了“段落”。这是Windows环境中的第一对。

答案 13 :(得分:1)

进行此设置。表 - >视图 - >显示符号 - >取消选中Show End of the line

答案 14 :(得分:0)

只需执行一个带有查找的\ r,然后在替换字段中替换为空格,以便所有内容都达到一行。然后进行查找和替换(在我的情况下是半冒号)并替换为; \ n

:) -T和C

答案 15 :(得分:0)

也许您可以使用TextFX插件

在TextFX中,转到textfx编辑→删除空行

答案 16 :(得分:0)

将单独行的文档更改为单行,每行在逗号分隔列表中形成一个条目:

  1. ctrl + f 打开搜索/替换器。
  2. 点击“替换”标签。
  3. 使用“\r\n”填写“查找内容”条目。
  4. 将“替换为”条目填入“,”或“,”(具体取决于偏好)。
  5. 取消选中“匹配整个单词”复选框(避开逻辑的重要位)。
  6. 选中“扩展”单选按钮。
  7. 点击“全部替换”按钮。
  8. 这些步骤转为例如

      

    foo bar

         巴巴兹

         

    baz foo

    <强>到

      foo bar,bar baz,baz foo

    或:(取决于偏好)

      foo bar,bar baz,baz foo

答案 17 :(得分:0)

要查找任何类型的换行序列,请使用以下正则表达式构造:

\R

要查找并选择连续换行序列,请在+之后添加\R\R+

确保打开正则表达式模式:

enter image description here

它匹配:

  • U+000DU+000A - CRLF`序列
  • U+000A-LINE FEED LF
  • U+000B-LINE TABULATION VT
  • U+000C-FORM FEED FF
  • U+000D-CARRIAGE RETURN CR
  • U+0085-NEXT LINE NEL
  • U+2028-LINE SEPARATOR
  • U+2029-PARAGRAPH SEPARATOR