我正在寻找一个简单的正则表达式查找及替换解决方案,可以只提供用于替换每个匹配项的lambda表达式。例如:
regex.MatchReplace(text, match => "replacement string");
这样我就可以创建自己的逻辑来生成替换字符串,可能涉及调用各种方法等操作,即使用替换模式无法完成的事情。有人知道我该如何实现这个吗?
我正在寻找一个简单的正则表达式查找及替换解决方案,可以只提供用于替换每个匹配项的lambda表达式。例如:
regex.MatchReplace(text, match => "replacement string");
string input="abc123def";
var output = Regex.Replace(input, @"\d", m=>(m.Value[0]-'0'+ 5).ToString());
Console.WriteLine(output);
输出:abc678def
https://msdn.microsoft.com/en-GB/library/bb383977.aspx
您可以为RegEx类定义扩展方法,使您能够将Action<>
指定为参数。
Regex
已经有了带有MatchEvaluator
的Replace
重载。你为什么需要自己的呢?regex.Replace(text, match => "replacement string")
应该对你有用。 - user4003407