日期:2014-05-19  浏览次数:20381 次

请教一个字符串格式化的问题
想将含中中文英文字母数字及各种符号的字符串格式化成只有英文字母数字及-这个符号的字符串,该怎么做?
如:中文adeiu/英文字- "8977f "
这段字符串想格式化成的结果是:adeiu8977f

------解决方案--------------------
把字符串存入数组,声明一个空字符串str;然后写个循环条件(0-9 or a--z or A---Z )
{
str+=cha[i];



}
------解决方案--------------------
楼主是否要保留“-”这个符号,看你的说明是要保留的,但你给的例子的结果却又是不保留的,下面的代码保留了的

using System.Text.RegularExpressions;

string yourStr = ...............;
string resultStr = Regex.Replace(yourStr, @ "[^a-zA-Z0-9-] ", " ");

如果不保留,把[^a-zA-Z0-9-]这里最后一个“-”去掉,如果要保留的是“_”,把[^a-zA-Z0-9-]替换为[^a-zA-Z0-9_]即可