string str="测试            测试1                           测试2   测试3 "string str1="test01   test002                          test003                                      test004"如何去掉中间的空格使之变成 "测试 测试1 测试2 测试3"
          "test001 test002 test003 test004"
中间只有个一个空格

解决方案 »

  1.   

    直接手写的代码,自行修改
    string Cut(string str)
    {
        while(str.IndexOf("  ")!=-1)
        {
            str=str.Replace("  ", " ");
        }
    }
    大意就是重复把两个空格替换成一个空格。
      

  2.   

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Text.RegularExpressions;namespace CSharpTest
    {
        class Program
        {
            static void Main(string[] args)
            {
                string str = "测试            测试1                          测试2  测试3 ";            string str1 = "test01  test002                          test003                                      test004";
                Console.WriteLine(RemoveSpace(str));
                Console.WriteLine(RemoveSpace(str1));
            }
            static string RemoveSpace(string str)
            {
                string result = Regex.Replace(str, @"[ ]+", " ");
                return result;
            }
        }
    }
      

  3.   

    忘了return 了
    string Cut(string str)
    {
        while(str.IndexOf("  ")!=-1)
        {
            str=str.Replace("  ", " ");
        }
        return str;
    }
      

  4.   

    就这一句保证可以str = str.Replace(" ","");
      

  5.   


    static string RemoveSpace(string str)
            {
                return Regex.Replace(str, " +", " ");
            }
      

  6.   

    使用正则表达式,Regex类,很容易搞定。
      

  7.   


    楼主结贴吧,如果sohighthesky兄弟不能完美解决你的问题的话,那么你应该不懂效率了。正则高效
      

  8.   


    string str="测试            测试1                          测试2  测试3 ";
                    string str1 = "test01  test002                          test003                                      test004";
                    str = System.Text.RegularExpressions.Regex.Replace(str1.Trim(), @"\s+", " ");
      

  9.   

    str = str.Replace(" ","");
      

  10.   


            public string Trim(string str)
            {
                StringBuilder buf = new StringBuilder();
                string[] temp = str.Split(new string[]{" "},StringSplitOptions.RemoveEmptyEntries);            foreach (string item in temp)
                {
                    buf.Append(item + " ");
                }            return buf.ToString().Trim();
            }
      

  11.   

    Regex.Replace(str, @"[ ]+", " ");
      

  12.   


             string str = "测试            测试1                          测试2    测试3 ";
             textBox2.Text = Regex.Replace(str, " +", " ");
      

  13.   

    private string RemoveBlanks(string source)
    {
        return Regex.Replace(source, @"[\p{Z}]+", " ");//\p{Z}在正则表达式里指代分隔符,空白
    }