C# 正则表达式匹配特定字符然后做任意处理,并保留字符位置

针对稍简单的操作,一行代码即可搞定

string text = "abcabc";

// Regex.Replace 的第一个参数为要处理的字符串,第二个为正则表达式,第三个为你的操作
// 匹配字符串中所有的 a,然后转为大写。m.Value 即为匹配到的字符
text = Regex.Replace(text, "[a]", m => m.Value.ToUpper());

Console.WriteLine(text);

>>>"AbcAbc"

针对更复杂的操作,可以专门写一个函数

private static string ReplaceMethod(Match m)
{
	// m.ToString() 即为匹配到的字符,可做任意处理
    return m.ToString().ToUpper();
}

private static void Main()
{
    var text = "abcabc";
    
    var myEvaluator = new MatchEvaluator(ReplaceMethod);
    text = Regex.Replace(text, "[a]", myEvaluator);
    
    Console.WriteLine(text);
}

>>>"AbcAbc"

猜你喜欢

转载自blog.csdn.net/qq_37454669/article/details/121953522