日期:2014-05-18  浏览次数:20853 次

如何删除一个字符串中指定字符之外的之符?
比如:要删除abcdef.g,hi@j)k,我想删除字符串中除了a-z和1-9之外的标点及其它字符
我的意思是把这个字符串中除了指定的字符串范围外的字符全删除。
该怎么写?


------解决方案--------------------
string s = String.Join(String.Empty, "abcdef.g,hE(E$ad1230hdonci@j)k".ToCharArray().Where(ch => Char.IsLetterOrDigit(ch)));

将 "abcdef.g,hE(E$ad1230hdonci@j)k" 转成 char[],对于每一个 char ch,如果 ch 是字符是数字或字母,取出来,从而得到新的数组,然后将新数组的元素重新拼接成字符串。