代码之家  ›  专栏  ›  技术社区  ›  Thorin Oakenshield

如何修剪字符之间的空白

  •  20
  • Thorin Oakenshield  · 技术社区  · 14 年前

    如何删除c中字符之间的空白?

    Trim() 可用于删除字符串开头和结尾的空格。例如 " C Sharp ".Trim() 结果 "C Sharp" .

    但是如何把绳子 CSharp ?我们可以使用 for 或A for each 与临时变量一起循环。但是有内置的方法吗 C#(.Net framework 3.5) 这样做 三() ?

    8 回复  |  直到 6 年前
        1
  •  44
  •   p.s.w.g    11 年前

    你可以使用 String.Replace 方法

    string str = "C Sharp";
    str = str.Replace(" ", "");
    

    或者如果要删除所有空白字符(空格、制表符、换行符…)

    string str = "C Sharp";
    str = Regex.Replace(str, @"\s", "");
    
        2
  •  2
  •   Iain Ward    14 年前

    使用 String.Replace 将所有空白替换为空白。

    string newString = myString.Replace(" ", "");
    
        3
  •  1
  •   Parminder    11 年前

    如果你想在每个词之间留一个空格。这应该可以做到。

     public static string TrimSpacesBetweenString(string s)
        {
            var mystring  =s.RemoveTandNs().Split(new string[] {" "}, StringSplitOptions.None);
            string result = string.Empty;
            foreach (var mstr in mystring)
            {
                var ss = mstr.Trim();
                if (!string.IsNullOrEmpty(ss))
                {
                    result = result + ss+" ";
                }
            }
            return result.Trim();
    
        }
    

    它将删除字符串之间的字符串 所以如果输入是

    var s ="c           sharp";
    result will be "c sharp";
    
        4
  •  1
  •   yanckst Adnan    7 年前
    //Remove spaces from a string just using substring method and a for loop 
    static void Main(string[] args)
    {
        string businessName;
        string newBusinessName = "";
        int i;
    
        Write("Enter a business name >>> ");
        businessName = ReadLine();
    
        for(i = 0; i < businessName.Length; i++)
        {
            if (businessName.Substring(i, 1) != " ")
            {
                newBusinessName += businessName.Substring(i, 1);
            }
        } 
    
        WriteLine("A cool web site name could be www.{0}.com", newBusinessName);
    }
    
        5
  •  0
  •   Andy Rose    14 年前
    string myString = "C Sharp".Replace(" ", "");
    
        6
  •  0
  •   Eric Bishard    11 年前

    我发现这个方法非常适合做一些事情,比如构建一个使用计算属性的类,比如说“产品名”,并去掉空白来创建一个URL,该URL将等于一个使用不带空格的产品名的图像。例如:

        namespace XXX.Models
        {
            public class Product
            {
                public int ProductID { get; set; }
                public string ProductName { get; set; }
                public string ProductDescription { get; set; }
    
                public string ProductImage
                {
                    get { return ProductName.Replace(" ", string.Empty) + ".jpg"; }
                }
            }
        }
    

    所以在这个答案中,我使用了与w69rdy非常相似的方法,但在一个示例中使用了它,另外我使用了string.empty而不是“”。尽管.NET 2.0之后没有区别,但我发现对于其他可能需要阅读我的代码的人来说,阅读和理解起来要容易得多。我也喜欢这样,因为有时我会在代码块中丢失所有可能的引号。

        7
  •  0
  •   Mekala V    6 年前
    var str="  c sharp  "; str = str.Trim();
            str = Regex.Replace(str, @"\s+", " ");  ///"c sharp"
    
        8
  •  0
  •   Reyan Chougle    6 年前

    如果你想在每个词之间留一个空格。你也可以这样做:

    string.Join(" ", inputText.Split(new char[0], StringSplitOptions.RemoveEmptyEntries).ToList().Select(x => x.Trim()));