首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

字符串代替,该怎么解决

2012-05-08 
字符串代替问题1:name张三怎么替换成张*如果name王小二或者王小二啊怎么替换成王****问题2:身份证

字符串代替
问题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个单词字符),然后替换成若干个*(数量为该字符串字符数)

热点排行