Notepad ++:如何用不同的值替换行中的特定文本?

Notepad ++:如何用不同的值替换行中的特定文本?

我正在修改游戏。我想更改某些数字,但我需要以特定方式进行。

例如:

士兵 Jinetes, 24, 0, 1

我想替换数字 24,但不改变行中的任何其他值,但还改变包含数字 24 并以士兵开头的每一行。

因此任何看起来像这样的行:

士兵姓名,24,#,#

不会影响该行中的任何其他内容,并且无论该行中的名称或其他值如何都可以这样做。

我可以这样做吗?我该怎么做?

答案1

Notepad++ 正则表达式使用标准聚合酶链反应

我使用过在线编辑器regex101.com选择 FLAVOR 为 '聚合酶链反应'。相同的正则表达式在 N++ 中的作用与 charm 类似。

我使用的虚拟输入:

soldier NAME1, 24, 0, 1
soldier NAME2, 25, 1, 2
soldier NAME3, 26, 2, 3
soldier NAME4, 27, 3, 4
soldier NAME5, 28, 4, 5
soldier NAME6, 29, 5, 6
soldier NAME7, 30, 6, 7
machine NAME8, 24, 7, 8
Xsoldier NAME9, 24, 8, 9
soldier NAME10, 24, 9, 10

预期输出:
仅应修改第一行和最后一行。数字“24”应替换为新值。

正则表达式:

^soldier\s+(?:[^\,]+\,\s+)\K24(?=\,\s+\d+\,\s+\d+)

现在您可以使用标准 Ctrl+H,“查找内容”应使用表达式填充,“替换为”应使用新值填充。确保已选中“环绕”,并且“搜索模式”设置为“正则表达式”。

单击“全部替换”将用新的指定值替换所有数字“24”。

答案2

是的,你需要使用正则表达式

另请参阅教程

相关内容