当我选择列中的某些文本时,替换/选中将变为灰色。如何在 Notepad++ 中仅替换所选文本列中的文本?
答案1
这是 notepad++ 的一个令人讨厌的限制,但有几种方法可以解决这个问题。首先,如果您知道列限制,即要将第 4 列和第 10 列中的任何“dog”字替换为“cat”,请执行以下操作:
RE 搜索字符串:^(.{3})(.{0,3})dog(.{0,3})(.*)$
RE 替换字符串:\1\2cat\3\4
具体来说:
^ - Must match from the beginning of the line
(.{3}) - match any three characters from the line
(.{0,3}) - match 0-3 characters from the line
dog - match "dog"
(.{0,3}) - match 0-3 characters from the line
(.*) - match everything else
$ - up to the end of the line
这种方法的注意事项首先,请确保您已. matches \n
取消选中,否则会弄乱。混合制表符和空格不起作用,因为正则表达式将制表符视为单个字符。
另一种适用于混合制表符和空格的解决方案列选择您要搜索的最后一列。然后输入文件中不存在的字符,例如“ |
”或“ !
”。
列选择您要搜索的第一列。执行与之前相同的操作(可以是相同的字符或不同的字符)。
现在,在这些边界内搜索您的文本。
RE 搜索字符串:|(.*)dog(.*)|
RE 替换字符串:|\1cat\2|
您想保留标记字符,因为您可能不会匹配文件中的每一行,并且您想在第二步中删除所有标记字符(使用列选择和删除,或使用另一个搜索/替换)。