Skip to main content
 首页 » 编程设计

c#之正则表达式上的数学表达式

2024年01月28日22lexus

我有很多文本行,我必须找到一些行,然后更改它们。

我写了这样的正则表达式规则:

^(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); };