如何在Notepad ++中查找/替换所有CR / LF字符?
我正在寻找与Microsoft Word中的^ p特殊字符相当的东西。
答案 0 :(得分:395)
[\r\n]+
也应该有用
2012年3月26日更新,发布日期 Notepad++ 6.0 :
OMG,它现在确实可以工作!!!
原始答案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:
使用“查看|显示行尾”菜单可以显示行尾字符。 (回车换行符应显示为单个着色的CRLF'字符'。)
选择其中一个CRLF'字符'(将光标放在一个字符前面,按住SHIFT键,然后按一下RIGHT CURSOR键。)
将CRLF字符复制到剪贴板。
确保您不打开查找或查找/替换对话框。
打开查找/替换对话框。 “查找内容”字段显示剪贴板的内容:在这种情况下,CRLF字符 - 显示为2个'字符'(可能是一个不可打印的字符?)
确保“正则表达式”选项为OFF。
现在,您应该可以根据需要进行计数,查找或替换。
答案 4 :(得分:6)
带有CRLF的图像
没有CRLF的图片
答案 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,您可以通过三步法解决限制:
\r\n
替换为代码,让我们说#GO#
→检查'扩展',将\r\n
替换为#GO#
ICON="*"
→检查正则表达式,替换ICON=.[^"]+.> by >
#GO#
替换为\r\n
答案 10 :(得分:2)
假设它有一个“正则表达式”搜索,请查找\ r \ n。我更喜欢\ r?\ n,因为有些文件不使用回车。
编辑:感谢您的反馈,无论是谁投票。我已经了解到......好吧,没有,因为你没有提供反馈。为什么这是错的?
答案 11 :(得分:1)
我在Notepad ++中打开了文件,并通过几个步骤进行了替换:
这会将所有中断放在应有的位置,并删除那些破坏文件的内容。
它对我有用。
答案 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)
将单独行的文档更改为单行,每行在逗号分隔列表中形成一个条目:
\r\n
”填写“查找内容”条目。,
”或“,
”(具体取决于偏好)。这些步骤转为例如
foo bar
巴巴兹baz foo
<强>到强>
foo bar,bar baz,baz foo
或:(取决于偏好)
foo bar,bar baz,baz foo
答案 17 :(得分:0)