首页 > 技术文章 > C# 正则表达式 结合 委托

bsyblog 2016-11-30 21:32 原文

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

示例代码:

 

           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();
        }

 

推荐阅读