日期:2014-05-17  浏览次数:21445 次

如何保留字符串中的一个空格!
比如字符串是下面这样子:每个字符之间有不确定个数的空格,怎么才能使每个字符之间只存在一个空格。

  //原始字符串
  string s="a b  c   d    f g";
  //想得到的结果
  string s="a b c d f g";

------解决方案--------------------
正则表达式
s=Regex.Replace(s, @"\s+", " ");
------解决方案--------------------

            string source = "a b  c   d    f g";
            string patten = @"(?is)(?<=[\s])[\s]+";
            Regex reg = new Regex(patten);
            source = reg.Replace(source, "");

------解决方案--------------------
Str= Regex.Replace(Str.Trim(), "\\s+", " ");

------解决方案--------------------

string s = "a b  c   d    f g";
s = string.Join(" ", s.Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries));

------解决方案--------------------
我在学校的时候老师也让我做过这个算法题
当时我这么做的

//原始字符串
  string s="a b  c   d    f g";
  s = s.Trim();
  string resString = "";
  for(int i = 1 ; i < s.Length;i++){
     if(s[i]==" "&& s[i-1]=="")continue;
     resString+=s[i].ToString();
  }
  s=resString;

------解决方案--------------------
你可以重新创造一下这个字符串
string.Join(" ", s.split(new char[]{' '},StringSplitOptions.RemoveEmptyEntries));

------解决方案--------------------
引用:
string.Join(" ", from s in "a b  c   d    f g"
                where s != 0x20
                select s);


同意!如果确实是“每一个字符之间都有空格”,那么确实是这样比较