我有很多文本行,我必须找到一些行,然后更改它们。
我写了这样的正则表达式规则:
^(Position) ([0-9]+)$
例如,我必须找到所有这样的行:
位置 10
位置 11
位置 12
现在我必须在 5 处增加数字。如何通过 Regex 实现? 我尝试编写这样的正则表达式规则:
$1 {$2+ 5}
我需要得到结果:
位置 15
16号位
位置 17
但是我有:
位置 {10 +5}
位置{11+5}
位置 {12+5}
请您参考如下方法:
Regex Replace 函数采用字符串或函数。您使用了字符串替换,因此只插入了字符串。如果你想要一个整数操作,你需要使用替换函数方法。
http://msdn.microsoft.com/library/cft8645c(v=vs.80).aspx
这段代码不正确,它应该只是展示如何完成的方式
Regex.Replace("^(Position) ([0-9]+)$", ReplaceFunction);
public string ReplaceFunction(Match m) { return "Position " + (int.Parse(m.Groups[2].Value) + 5); };
