读书人

字符串代替,该怎么解决

发布时间: 2012-05-08 22:09:41 作者: rapoo

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

读书人网 >asp.net

热点推荐