我有很多文本行,我必须找到一些行,并更改它们.
我写了这样的正则表达式规则:
^(Position) ([0-9]+)$
Run Code Online (Sandbox Code Playgroud)
例如,我必须找到所有这些行:
位置10
位置11
位置12
现在我必须将数字增加到5.如何通过Regex实现?我试着写这样的正则表达式规则:
$1 {$2+ 5}
Run Code Online (Sandbox Code Playgroud)
我需要得到结果:
位置15
位置16
位置17
但我得到了:
位置{10 +5}
位置{11 + 5}
位置{12 + 5}
正则表达式替换函数采用字符串或函数.你使用了字符串替换,所以只插入字符串.如果要进行整数运算,则需要使用replace with function方法.
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); };
Run Code Online (Sandbox Code Playgroud)