使用lambda表达式替换正则表达式匹配

时间:2015-07-09 19:21:17

标签: c# regex lambda substitution

我正在寻找一个简单的正则表达式查找和替换解决方案我可以提供一个lambda表达式来替换每个匹配。 E.g:

regex.MatchReplace(text, match => "replacement string");

这样我就可以创建自己的逻辑来生成替换字符串,这可能涉及调用各种方法等,即你可以用替换模式做的事情。有谁知道我怎么能做到这一点?

2 个答案:

答案 0 :(得分:4)

Regex已经有一个。例如,

string input="abc123def";
var output = Regex.Replace(input, @"\d", m=>(m.Value[0]-'0'+ 5).ToString());
Console.WriteLine(output);

输出:abc678def

答案 1 :(得分:0)

请查看以下内容:

https://msdn.microsoft.com/en-GB/library/bb383977.aspx

您可以为RegEx类定义一个扩展方法,允许您指定Action<>作为参数。