在正则表达式替换中投放$ 1

时间:2018-09-13 06:16:08

标签: c# regex

我想在C#中使用正则表达式将1添加到列表的最后一个int: “ 10,20,30”->“ 10,20,31”

这是为了测试$ 1是否按预期工作:

Regex.Replace("10, 20, 30", @"(\d+)$", "-$1-")
10, 20, -30-

这是为了测试演员阵容是否按预期工作:

Regex.Replace("10, 20, 30", @"(\d+)$", (int.Parse("30")+1).ToString())
10, 20, 31

最终的完整代码不起作用:

Regex.Replace("10, 20, 30", @"(\d+)$", (int.Parse("$1")+1).ToString())
input string was not in a correct format

为什么在转换时不解释$ 1?

1 个答案:

答案 0 :(得分:1)

LasseVågsætherKarlsen给出了正确的答案。有关详细信息,请参阅问题评论。

Regex.Replace("10, 20, 30", @"(\d+)$",ma => (int.Parse(ma.Value)+1).ToString())
10, 20, 31