A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邓建军 中级黑马   /  2013-5-15 09:01  /  1518 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邓建军 于 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. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

1 个回复

正序浏览
string类型有一个构造方法~~~{:soso_e113:}

点评

有这个方法方便多了  发表于 2013-5-15 17:24
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马