Notepad++ 中的高级替换字符串

advanced replace strings in Notepad++

所以,我想用“0”或 space 替换每个组的最后一部分。 输入示例:

16;9116;6
17;10753;6
18;12576;7
19;14597;7

输出需要是:

16;9116;0
17;10753;0
18;12576;0
19;14597;0

有我可以使用的通配符值吗?

这需要简单的正则表达式。

在查找内容框中输入 ;\d$,在替换为框中输入 ;0。确保勾选 "Regular expressions" 和 "Wrap around"。然后单击 "Replace all" - 或者您可以多次单击 "Replace" 以更轻松地查看它是否按要求工作。

;\d$的解释:;匹配自身,\d匹配一位小数,$匹配行尾。如果行有更多数字(例如 18;12576;78 应该更改为 18;12576;0),则将查找字符串更改为 ;\d+$+ 表示前面一项或多项。

另见 https://whosebug.com/tags/regex/info

A​​drianHHH 的回答很完美。我只是添加了一个屏幕截图以更加清晰。

我还要补充一点,在将 Replace All 应用到 Replace All 之前,使用 Replace 测试您的 find/replace 更安全 。有时,如果您有一个大文件,它可能会有您没有预料到的变化。我的两分钱。