当前位置: 代码迷 >> ASP.NET >> 字符串代替,该怎么解决
  详细解决方案

字符串代替,该怎么解决

热度:674   发布时间:2013-02-25 00:00:00.0
字符串代替
问题1:name="张三"
怎么替换成张*
如果name="王小二"或者"王小二啊"
怎么替换成王****
问题2:
身份证替换
一般身份证18位数123456789012345678
替换成1234************78
但有些是15位的 又怎么替换




------解决方案--------------------------------------------------------
问题一:
C# code
        string s = "张三丰";        string r = s[0] + new string('*', s.Length - 1);        Response.Write(r);
------解决方案--------------------------------------------------------
问题二,注意身份证最后一位可能为X或x,所以不能用\d:
C# code
        string s = "123456789012345678";        string r = Regex.Replace(s, @"(?<=^\d{4})\d+(?=\w{2}$)", delegate(Match match) { return new string('*', match.Value.Length); });        Response.Write(r);
------解决方案--------------------------------------------------------
哦,第一句:就是将字符串第一个字符和s.Length-1个*拼起来。

第二句:用正则,匹配一个字符串(要求其左边有4个数字,右边有2个单词字符),然后替换成若干个*(数量为该字符串字符数)
  相关解决方案