【问题标题】:Replace several lines替换几行
【发布时间】:2014-01-17 13:39:12
【问题描述】:
在 Notepad++ 中,我想(在文件中查找并)替换几行,但我未能将几行粘贴到“替换内容:”文本框中。
我在打开的文件中选择行,按 Ctrl+Shift+F,然后我将这些行复制到“查找什么:”文本框。 “扩展”是预选的。
问题是,当我尝试将“查找内容:”文本框中的行复制到“替换为:”文本框时,只复制第一行。如果这些行以\r\n 出现,它会解决问题,但他们没有。 (我确实有一次使用\r\n 出现在“查找内容:”中的行,但我不知道是什么原因造成的。)
【问题讨论】:
标签:
replace
newline
notepad++
findinfiles
【解决方案1】:
一个麻烦的解决方法:
- 打开一个包含您想要复制(但不能)到查找/替换框中的多行文件。
- 将所有
\r\n 替换(使用“扩展”)为\\r\\n。
- 您现在可以将多行复制为一行(将新的
\r\n 作为文本)复制到搜索框。
【解决方案2】:
查找内容和替换字段各占一行。通过在需要换行符的地方插入四个字符\r\n,这些行可以分别匹配或生成多行;前提是选择了扩展或正则表达式。
要生成四行文本,可以将 替换 字段设置为包含这 31 个字符 One\r\nTwo\r\nThree\r\nFour\r\n
记事本具有三种搜索模式来控制查找内容和替换字段中的字符的解释方式。有关详细信息,请参阅 Notepad++ 帮助页面的正在搜索...普通搜索部分。
正常表示
是从字面上处理的。这意味着 Find what 字符串(例如 s\t)按顺序查找三个字母 s、\ 和 t。
扩展表示\字符用于表示特殊字符,例如换行符和制表符等。表示查找内容字符串,例如s\t按该顺序查找两个字母 s 和 TAB。要按顺序查找三个字母 s、\ 和 t,需要 Find what 字符串为 s\\t。
正则表达式表示其他几个字符被解释为不是它们本身,而是特别作为正则表达式的一部分。