黑马程序员技术交流社区

标题: 关于正则表达式替换问题? [打印本页]

作者: 邓建军    时间: 2013-5-15 09:01
标题: 关于正则表达式替换问题?
本帖最后由 邓建军 于 2013-5-15 09:04 编辑

222323@qq.com  -->******@qq.com
tom@163.com  -->***@163.com
jack520=@sina.com  -->*******@sina.com
正则表达式替换,有什么好办法实现隐藏用户名,一个*代表一个字符 。除了我用的方法外,有没有更简单的方法,不通过for循环就能做出来。
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Text.RegularExpressions;

  7. namespace 隐藏邮箱用户名
  8. {
  9.         public delegate string HideDelegate(string s);
  10.     class Program
  11.     {
  12.         static void Main(string[] args)
  13.         {
  14.             Console.WriteLine("请输入你的邮箱号。");
  15.             string email = Console.ReadLine();
  16.             string regEmail = @"(\w+)(@\w+(\.[a-zA-Z]+)+)";
  17.             string lastEmailName = Regex.Replace(email, regEmail, "$2");//除用户名外的邮箱部分
  18.             string userName=Regex.Replace(email, regEmail, "$1");//用户名
  19.             HideDelegate hd = ChangeUserName;//使用委托
  20.             userName = hd(userName);
  21.             Console.WriteLine(userName + lastEmailName);
  22.             Console.ReadKey();
  23.         }
  24.         static string ChangeUserName(string s)
  25.         {
  26.             string str = null;
  27.             for (int i = 0; i < s.Length; i++)
  28.             {
  29.                 str += "*";
  30.             }
  31.             return str;
  32.         }
  33.     }
  34. }
复制代码

作者: 崔宏奎    时间: 2013-5-15 11:29
string类型有一个构造方法~~~{:soso_e113:}





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2