一个变量,string str="aaaaa               bbbbb               cccc       dddd";
 怎样改为 str="aaaaa bbbbb cccc dddd"呢
 请各位高手多多指教,有代码最好

解决方案 »

  1.   

    string str = "aaaaa               bbbbb               cccc       dddd";
            while (str.IndexOf("  ") > -1)
                str = str.Replace("  ", " ");
      

  2.   

    第归遍历整个字符串发现两个空格就替换成1个
    比如
    string tran(string str)
    {     string temp = str.Replace("  "," ");
         if(str.IndexOf("  ") > -1
         {
            temp = tran(temp)
          }
    return temp;
    }
      

  3.   

    string str = "aaaaa               bbbbb               cccc       dddd";// 用一个空格去替换两个连续的空格,直到不存在两个连续的空格
    while (str.IndexOf("  ") > -1) 
                str = str.Replace("  ", " ");
      

  4.   

    eddie的用一个空格去代替2个空格不错
      

  5.   

    using System;
    using System.Collections;
    using System.Text.RegularExpressions;public class MyClass
    {
    public static void Main()
    {
    String text = "aaaaa               bbbbb               cccc       dddd";
    String pattern = "[^\\s]+\\s+";

    Regex r = new Regex(pattern, RegexOptions.IgnoreCase);

    Console.WriteLine("-------------- RESULT -------------");
    MatchEvaluator myEvaluator = new MatchEvaluator(MyClass.GetReplaceResult);

    Console.WriteLine("原字符串:");
    Console.WriteLine(text);

    text = r.Replace(text,myEvaluator);
    Console.WriteLine("替换后的字符串:");
    Console.WriteLine(text);

    Console.ReadLine();
    }

    public static string GetReplaceResult(Match m)
        {
    //Console.WriteLine(m.Value);
            return Regex.Replace(m.Value, "(?<1>[^\\s]+)\\s+", "${1} ");
        }
    }
      

  6.   

    string str = "aaaaa               bbbbb               cccc       dddd";
    while (str.IndexOf("  ") > -1)
    str = str.Replace("  ", " ");
    ==
    同上