C# 正则表达式 结合 委托

时间:2022-01-16 04:17:01

使用正则表达式匹配字符串的同时,使用委托事件,处理每一个匹配项

示例代码:

string msg = "我的邮箱是zxh@itcast.cn的邮箱是yzk365@chezhihui.com减肥看到了撒steve_zhao@163.com发动机是啦"; //通过委托实现的字符串替换 msg = Regex.Replace(msg, @"([-a-zA-Z0-9_.]+)(@[-a-zA-Z0-9]+(\.[a-zA-Z0-9]+){1,})", GetReplaceString); Console.WriteLine(msg); Console.Read(); public static string GetReplaceString(Match match) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < match.Groups[1].Length; i++) { sb.Append("*"); } sb.Append(match.Groups[2].Value); return sb.ToString(); }