c# 使用Regex.Replace含有MatchEvaluator类型的重载,可以按照匹配结果进行替换。下面的例子中可将inputString中所有的a换为b,所有的b换为a。
//Replace(string input, string pattern, MatchEvaluator evaluator);
string inputString = "abababa";
string outputString = Regex.Replace(inputString, "[ab]", m => m.Value == "a" ? "b" : "a");
//string outputString = Regex.Replace(stringVal, "[ab]", (match) => {
// return (match.Value == "a") ? "b" : "a";
//});
Console.WriteLine(outputString);//bababab