在Notepad++中查找CRLF

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

我在寻找等同于微软Word中的^p特殊字符的东西。

对该问题的评论 (6)
解决办法

[\rn]+也应该工作

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

OMG,它现在真的可以工作了!!!。

在Notepad++中的PCRE regexp]2!


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

事实上没有,它似乎不能与regexp一起工作...

但如果你有 Notepad++ 5.x,你可以使用 'extended'搜索模式并寻找 rr\n。这确实能找到你所有的CRLF

(我意识到这是与其他答案相同的答案,但同样,'扩展模式'只适用于Notepad++ 4.9、5.x及以上版本)


从2009年4月起,你在Notepad++网站上有一篇关于这个主题的wiki文章。
"如何替换行尾,从而改变行的布局"。
(由georgiecasey在他/她的以下答案中提到)

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

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

你可以在编辑窗口选择一个EOL

  • 只要把光标移到行尾,然后输入Shift+Right箭头。
  • 或者,用鼠标选择 "EOL",就从行尾开始,拖到下一行的开头;拖到 "EOL "的右边不会有效果。 你可以手动复制EOL'并粘贴到Unix文件的字段中(只限于LF')。

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

"Extended"选项显示nr为可匹配的字符。
与普通搜索模式一样,Notepad++正在寻找准确的字符。
在UNIX格式的文件中搜索r不会找到任何东西,但搜索n会。同样地,Macintosh格式的文件将包含r,但不包含n

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

正则表达式使用字符^$将匹配字符串固定在行的开头或结尾。例如,搜索 "return;$"将找到在同一行中没有后续文字的"return;"的出现。锚定字符在所有文件格式中的作用是相同的。
'.'点元字符不匹配行尾。

[在Notepad++ 5.8.5\中测试]。带有明确的rn的正则表达式搜索不起作用(与Scintilla文档相反)
在明确的(粘贴的)LF上的搜索,或者在选择EOL时放在字段中的(不可见的)EOL字符上的搜索也不工作。 高级搜索(Ctrl+R)不需要使用重排法

Ctrl+M将插入与新行匹配的东西。它们将被替换字符串所取代。
我推荐这种方法是最可靠的,除非你真的需要使用regex。
举个例子,要删除一个双倍行距的文件中的每一个换行,在搜索字符串框中输入Ctrl+M两次,并在替换字符串框中输入一次。

高级搜索(Ctrl+R)与Regexp。

Ctrl+M,$r都不匹配。


同一维基还提到了Hex编辑器的替代品

  • 在文档的开头输入新的字符串。
  • 然后选择在十六进制模式下查看文档
  • 选择新的一行,然后点击Ctrl+H 。
  • 当你打开替换对话框时,在背景上选择新的替换字符串,然后Ctrl+C复制它,把它粘贴到替换文本的输入中。
  • 然后按照你的意愿进行替换或全部替换。

注意:为新行选择的字符通常显示为0a
如果文件是Windows格式的,它可能有不同的值。在这种情况下,你可以随时去编辑->EOL转换->转换为Unix格式,在替换后再切换到编辑->EOL转换->转换为Windows格式

评论(12)

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

简单搜索(Ctrl+H),不使用regexp

你可以打开 "查看/显示行尾"。

或查看/显示全部,然后选择现在的 &gt.可见换行字符。 可见的换行字符。 然后当

你开始命令一些字符

与换行符相匹配的将是

粘贴到搜索栏中。 匹配

将被替换为 &gt.字符串,不同于在regex模式下。 字符串,不同于在regex模式下。 字符串,与regex模式不同。 &gt.字符串,与regex模式不同。 注1: 如果你用

鼠标,从他们前面开始,拖动

到下一行的开始。

拖动到行的末端不会 工作。 拖到下一行的开始。 注意2。 你不能复制和粘贴

他们自己进场。

高级搜索(Ctrl+R),不含regexp。 &gt.Ctrl+M将插入与换行符匹配的内容。 Ctrl+M将插入与换行符匹配的内容。 它们将被替换字符串所取代。

1:

评论(2)

在替换对话框中,你要将搜索模式设置为"扩展"。 普通或正则表达式模式不会起作用。

然后找到"&r"(或者unix文件只找&n,mac格式文件只找&r),并将替换设置为你想要的。

评论(2)

我在查找/替换窗口中使用正则表达式时运气不太好。

然而,在Notepad++ v4.1.2中却可以使用。

  1. 使用"View | Show end of line" 菜单来启用显示行末字符。 回车换行应该显示为一个单一的阴影CRLF '字符')。

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

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

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

  5. 打开查找/替换对话框。 在'查找什么'字段显示剪贴板的内容。 字段显示剪贴板的内容。 在本例中,CRLF字符--显示为2个'框字符&#39。 (大概它是一个不可打印的字符?)

  6. 确保'正则表达式&#39。 选项是关闭的。

现在你应该可以根据需要进行计数、查找或替换。

评论(1)

形象与CRLF

![在此输入图片描述][1] 。


不含CRLF的图像

![在此输入图片描述][2]

[1]: http://i.stack.imgur.com/WjBZU.png [2]: http://i.stack.imgur.com/p1mxh.png

评论(1)

我发现它的工作方式是使用替换功能,并使用"\n",与"Extended&quot。 模式。 我使用的是5.8.5版本。

评论(1)

在2013年,v6.13或更高版本,使用。

菜单编辑EOL转换Windows格式

评论(1)

使用高级搜索选项(Ctrl

  • R),并使用CRLF的键盘快捷键(Ctrl
  • M)来插入回车。
评论(1)

进入查看--> 显示符号-->显示所有字符 // 它为我工作

评论(0)

如果你需要做一个复杂的regexp替换,包括\r\n,你可以通过一个三步法来解决这个限制。

  1. 用一个标签替换所有的\r/n,比方说#GO#→检查'Extended',用#GO#替换\r/n
  2. 执行你的regexp,例如从html书签中删除多行ICON="*"→检查regexp,将ICON=.[^"]+.> 替换为>

  3. 放回r/r/n→检查'Extended',将#GO#替换为r/r/n

评论(0)

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

编辑:谢谢你的反馈,不管是谁把这个投下去的。 我已经了解到......嗯,什么都没有,因为你没有提供反馈。 为什么这是错的?

评论(2)

我用Notepad++打开文件,分几步做了替换。

  1. 将所有的"/r/n" 用" `rr\n"
  2. 将所有"; `r/r/n" 改为"\rn"。

  3. 将所有" `rr/n&quot.改为"rr/n" 改为"。 用"代替"。

这样就可以把所有的断点放在它们应该在的地方,并删除那些破坏文件的断点。

这对我来说很有效。

评论(0)

进行这种设置。 菜单-&gt。 查看-&gt。 显示符号-&gt。 取消选中显示行尾

评论(1)

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

打开文档,进入编辑->替换。

然后在搜索框的底部,点击"更多&quot。 然后找到"特别&quot。 按钮,他们有几个东西给你。 对于Dos风格,我用的是"段落&quot。 一个。 这是windows地一个cr lf对。

评论(0)

要将一行行独立的文档改为一行行,每一行构成逗号分隔列表中的一个条目。

  1. ctrl+f</kbd&gt。 打开搜索/替换器。
  2. 单击"Replace" 选项卡。

  3. 在"Find what&quot.条目中填入"/r/n"。 条目中填入"/r/n"。

  4. 在"替换"处填写"。 条目填上"" 或"" (根据喜好而定)。

  5. 取消选中"匹配整个单词" 复选框(重要的一点,难以理解逻辑)。
  6. 选中"Extended" 单选按钮。

  7. 单击"Replace all" 按钮。

这些步骤将e.g.

吧台

Baz foo

进入:

foo bar,bar baz,baz foo。

或:(取决于偏好)

福吧,福吧福吧,福吧福吧。

评论(0)

要查找任何一种换行序列,请使用下面的regex结构。

\R

要查找和选择连续的行中断序列,在\R后添加+\R+.

确保你开启了正则表达式模式。

[![在此输入图像描述][1]][1] 。

它符合:

  • U+000DU+000A-CRLF`序列。
  • "U+000A"-"行进",LF
  • "U+000B"-"行表",VT
  • U+000C-FORM FEEDFF
  • "U+000D"----"车厢返回",CR
  • U+0085-NEXT LINENEL
  • "U+2028"-"分线器
  • "U+2029"-"图谱分离器

[1]: https://i.stack.imgur.com/8mhVj.png

评论(0)

也许你可以使用TextFX插件

在TextFX中,进入textfx编辑→删除空行。

评论(0)

只需在替换字段中用查找和替换的方式进行查找和替换,并在替换字段中留出空白,这样所有的东西就会上升到一行。 然后做一个查找和替换(在我的例子中是用分号),然后用;\n替换。

:) -T&C

评论(1)