try..string S = " a er sdf aa"; S = Regex.Replace(S.Trim(), @"\s+", " "); Console.WriteLine(S);
string S = " a er sdf aa"; string[] ss = s.Split(' '); StringBuilder sb = new StringBuilder();foreach(string str in ss) { sb.Append(str.trim()); } S = sb.ToString();
Sorry ,忘了加空格string S = " a er sdf aa"; string[] ss = s.Split(' '); StringBuilder sb = new StringBuilder();foreach(string str in ss) { sb.Append(str.Trim()).Append(" "); } S = sb.ToString().Trim();
S=S.Replace(" "," ");如果字符串很长(比如你要处理的是QQ群导出来的聊天记录,可能超过几十万上百万行...)那么用上面这个while循环几乎可以肯定会死机(没有响应).......大数据要方便换用StringBuilder来处理,
或者要追求最小内存消耗的一个一个字符读,读到空格把一个状态变量设为true,然后接着忽略空格,直到不是空格再设为false, 流方式,读一个字符写一个字符....
试试这个
S = Regex.Replace(S.Trim(), @"\s+", " ");
Console.WriteLine(S);
string[] ss = s.Split(' ');
StringBuilder sb = new StringBuilder();foreach(string str in ss)
{
sb.Append(str.trim());
}
S = sb.ToString();
string[] ss = s.Split(' ');
StringBuilder sb = new StringBuilder();foreach(string str in ss)
{
sb.Append(str.Trim()).Append(" ");
}
S = sb.ToString().Trim();