在记事本++中查找CRLF

如何find/replace记事本++中的所有CRLF字符? 在Word中寻找相当于^ p特殊字符的东西。

[\r\n]+应该工作

Notepad ++ 6.0 2012年3月26日更新发布date:

OMG,它现在确实工作了!

在Notepad ++中的PCRE正则表达式


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

其实不,它似乎并不适用于正则expression式…

但是,如果您有Notepad ++ 5.x,则可以使用“ 扩展 ”search模式并查找\r\n 。 那确实find了你所有的CRLF

(我意识到这是相同的答案比其他人,但再次,'扩展模式'只有Notepad ++ 4.9,5.x和更多)


自2009年4月以来,您在Notepad ++网站上有关于此主题的wiki文章:
如何replace线端,从而改变线的布局 ”。
(在下面的答案中由georgiecasey提到)

一些相关的摘录包括以下search过程:

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

您可以在编辑窗口中select一个EOL

  • 只要将光标移动到行的末尾,然后inputShift + 向右箭头。
  • 或者,使用鼠标selectEOL ,只需在行结束处拖动到下一行的起始处; 拖到EOL的右边将不起作用。 您可以手动复制EOL并将其粘贴到Unix文件的字段(仅限LF )。

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

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

简单search(Ctrl + F),search模式=正则expression式

正则expression式使用字符^$将匹配string锚定到行的开头或结尾。 例如,searchreturn;$会发现“返回”; 在同一行上没有后续的文本。 主angular字符在所有文件格式中都是相同的。
'。' 点元字符不符合行尾。

[在Notepad ++ 5.8.5中testing]: 使用显式\r\n进行正则expression式search不起作用(与Scintilla文档相反)
在selectEOL时,也不会在显示的(粘贴的)LF上或在字段中放置的(不可见的)EOL字符上进行search。 高级search( Ctrl + R )没有正则expression式

Ctrl + M将插入与换行符匹配的内容。 它们将被replacestringreplace。
我推荐这个方法是最可靠的,除非你确实需要使用正则expression式。
例如,要删除双倍间隔文件中的每隔一行换行,请在searchstring框中inputCtrl + M两次,然后在replacestring框中input一次。

高级search( Ctrl + R )与正则expression式。

Ctrl + M$\r\n都不匹配。


同样的wiki也提到了hex编辑器的select

  • 在文档的开头input新的string。
  • 然后select以hex模式查看文档
  • select一个新行,然后按Ctrl + H。
  • 在“replace”对话框中,在背景上select新的replacestring,并按Ctrl + C将其复制,以将其粘贴到“replace为文本”input框中。
  • 然后根据需要replace或replace全部。

注意:为新行select的字符通常显示为0a
如果文件是Windows格式,它可能会有不同的值。 在这种情况下,您可以随时进入Edit -> EOL Conversion -> Convert to Unix Format ,replace后切换回来,然后Edit -> EOL Conversion -> Convert to Windows Format

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

简单的search(Ctrl + H)没有正则expression式

您可以打开查看/显示行尾或查看/全部显示,然后select现在可见的换行符。 然后当你启动命令时,一些匹配换行符的字符将被粘贴到search字段中。 与正则expression式模式不同,匹配将replace为replacestring。

注1:如果您用鼠标select它们,请在它们之前开始并拖动到下一行的开头。 拖动到该行的结尾将不起作用。

注2:您不能复制并粘贴到自己的领域。

高级search(Ctrl + R)没有正则expression式

Ctrl + M将插入与换行符匹配的内容。 它们将被replacestringreplace。

在“replace”对话框中,您要将search模式设置为“扩展”。 正常或正则expression式模式不会工作。

然后find“\ r \ n”(或者\ n对于unix文件或\ r对于mac格式文件),并将replace设置为任何你想要的。

从查找/replace窗口input\ r \ n正则expression式,我没有太多的运气。

但是,这在Notepad ++ v4.1.2中可用:

  1. 使用“View | Show end of line”菜单可以显示行尾字符。 (回车换行应显示为单个着色的CRLF“字符”。)

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

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

  4. 确保您没有find或find/replace对话框打开。

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

  6. 确保“正则expression式”选项closures。

现在,您应该能够根据需要进行计数,查找或replace。

我发现它的工作方式是使用replacefunction,并使用“\ n”和“扩展”模式。 我正在使用版本5.8.5。

图像与CRLF

在这里输入图像说明


没有CRLF的图像

在这里输入图像说明

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

 edit/EOL Conversion/Windows Format 

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

编辑:感谢您的反馈,谁投了下来。 我已经了解到…呃,没有什么,因为你没有提供任何反馈。 为什么这是错的?

使用高级search选项(ctrl-R)并使用CRLF(ctrl-M)的键盘快捷方式插入回车符。

如果您需要执行复杂的正则expression式replace(包括\ r \ n),则可以通过三个步骤来解决方法限制:

  1. 用标签replace所有的\r\n ,让我们说#GO#
    – >勾选'Extended',用#GO#replace\r\n
  2. 执行你的正则expression式,例如从html书签中删除多行ICON="*"
    – >检查正则expression式,用>replaceICON=.[^"]+.> by >
  3. 放回\ r \ n
    – >选中'Extended',用#GO# \r\nreplace#GO#

我用记事本++打开文件,并在几个步骤做了replace

  1. 将所有“\ r \ n”replace为“\ r \ n”
  2. 将所有“; \ r \ n”replace为“\ r \ n”
  3. 用“”replace所有“\ r \ n”

这将所有的rest,他们应该是,并删除那些分手的文件。

它为我工作,我希望它可以帮助你:)

也许你可以使用TextFX插件

在TextFX中进入textfx编辑 – >删除空白行

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

  1. 按Ctrl + F打开search/replace。
  2. 点击“replace”标签。
  3. 使用“ \r\n ”填写“查找内容”条目。
  4. 用“ , ”或“ , ”(取决于偏好)填写“replace为”条目。
  5. 取消勾选“全字匹配”checkbox (不含逻辑的重要位)。
  6. 检查“扩展”单选button。
  7. 点击“全部replace”button。

这些步骤转向例如

foo吧

酒吧巴兹

巴兹富

成:

foo吧,bar baz,baz foo

或:(根据偏好)

foo吧,bar baz,baz foo

只要做一个\ rfind并replace一个空白在replace字段,所以一切都上升到一行。 然后做一个查找和replace(在我的情况下通过分号)并replace; \ n

🙂 -T&C

进行此设置。 菜单 – >查看 – >显示符号 – >取消选中显示行结束