Notepad ++ 查找并用换行符替换字符串

p.c*_*ell 233 notepad++

考虑您有一个要查找和替换的特定字符串的场景。您想用包含换行符(或字符序列)的新字符串替换它。

abc123 xyz456-blah
fsafd23 xyz456-green
89hjkf23 xyz456-red
afdsa23 xyz456-yellow
abaac123 xyz456-orange
Run Code Online (Sandbox Code Playgroud)

在上面的场景中,我想找到“ xyz”并回车/换行符替换空格。

结果将如下所示:

abc123
xyz456-blah
fsafd23
xyz456-green
89hjkf23
xyz456-red
   ?
Run Code Online (Sandbox Code Playgroud)

等等...

问题:您如何使用 Notepad++ 最轻松地实现这一目标?您是否建议使用其他任何工具来轻松执行此命令?

cal*_*ban 303

Notepad++ 会做的很好。

搜索字符串:

 xyz
注意前面的空格xyz

替换字符串:

\r\nxyz

您还需要将“搜索模式”设置“扩展”(“替换”对话框中的左下方组框),以便 Notepad++ 支持转义码。


一些背景: “\r\n”是回车的转义码,Windows 中新行的标准。Unix 风格的系统只使用 \n(换行符)。大多数 IDE,包括 Notepad++,都会理解这两种样式并用新行来描绘它们,但核心 Windows 实用程序不理解 \n 等同于 \r\n,因此如果文件旨在在 Windows 环境中使用。

  • 如果您尝试用实际的新行替换文字字符串“\r\n”,我必须执行以下操作:将搜索模式设置为正常,用 *** 查找/替换 \r\n。然后将搜索模式设置为扩展,用\r\n 查找/替换***。 (8认同)
  • 除非您按照其他答案中的说明设置搜索模式,否则这将不起作用:http://superuser.com/questions/34451/notepad-find-and-replace-string-with-a-new-line/34454#34454 (7认同)
  • 您的短语“更传统”具有误导性。"\r\n" 是 Windows 上的标准。只是很多编辑器和 IDE 碰巧识别出以“\n”结尾的 Unix/Linux 标准行并相应地显示文档。"\n" 没有什么使它更传统。 (3认同)
  • \r\n = Windows 换行语法。但是,对于普通旧记事本以外的所有内容,它只会接受 \n 换行(这也是更传统的)。 (2认同)

th3*_*ude 64

在 Notepad++ 中,这很容易...

  • 查找:xyz
  • 替换为:\n


  • 搜索模式:扩展(\n、\t 等)

诀窍是设置搜索模式。


Mac*_*cha 7

当我无法直接在文本字段(例如制表符和换行符)中输入 S&Ring 字符时,我会作弊。在文档中找到已经包含该字符的某处,然后复制它,并将其粘贴到替换字段中。

因此,在您的示例中,从一行的开头开始,单击,拖动到前一行的末尾,复制该行,然后将其粘贴到“替换”对话框中。


TJ *_*J L 7

在“替换”对话框中,确保在“搜索模式”下选择了“扩展”。然后在查找框中输入“xyz”并替换为“\n”。