使用 lambda 表达式替换正则表达式匹配
Replacing Regex matches using lambda expression
我正在寻找一个简单的正则表达式查找和替换解决方案,我可以提供一个 lambda 表达式来替换每个匹配项。例如:
regex.MatchReplace(text, match => "replacement string");
这样我就可以创建自己的逻辑来生成替换字符串,这可能涉及调用各种方法等,即替换模式无法做到的事情。任何人都知道我怎样才能做到这一点?
请看以下内容:
https://msdn.microsoft.com/en-GB/library/bb383977.aspx
您可以为 RegEx class 定义一个扩展方法,这将允许您指定一个 Action<>
作为参数。
Regex 已有一个。例如,
string input="abc123def";
var output = Regex.Replace(input, @"\d", m=>(m.Value[0]-'0'+ 5).ToString());
Console.WriteLine(output);
输出:abc678def
我正在寻找一个简单的正则表达式查找和替换解决方案,我可以提供一个 lambda 表达式来替换每个匹配项。例如:
regex.MatchReplace(text, match => "replacement string");
这样我就可以创建自己的逻辑来生成替换字符串,这可能涉及调用各种方法等,即替换模式无法做到的事情。任何人都知道我怎样才能做到这一点?
请看以下内容:
https://msdn.microsoft.com/en-GB/library/bb383977.aspx
您可以为 RegEx class 定义一个扩展方法,这将允许您指定一个 Action<>
作为参数。
Regex 已有一个。例如,
string input="abc123def";
var output = Regex.Replace(input, @"\d", m=>(m.Value[0]-'0'+ 5).ToString());
Console.WriteLine(output);
输出:abc678def