【问题标题】:How to remove leading and trailing spaces from a string如何从字符串中删除前导和尾随空格
【发布时间】:2010-08-17 11:08:06
【问题描述】:

我有以下输入:

string txt = "                   i am a string                                    "

我想从字符串的开头和结尾删除空格。

结果应该是:"i am a string"

如何在 c# 中做到这一点?

【问题讨论】:

    标签: c# string


    【解决方案1】:

    String.Trim

    从当前 String 对象中删除所有前导和尾随空白字符。

    用法:

    txt = txt.Trim();
    

    如果这不起作用,那么“空格”很可能不是空格,而是其他一些非打印或空白字符,可能是制表符。在这种情况下,您需要使用 String.Trim 方法,该方法采用字符数组:

      char[] charsToTrim = { ' ', '\t' };
      string result = txt.Trim(charsToTrim);
    

    Source

    当您遇到更多空格(例如输入数据中的字符)时,您可以添加到此列表中。将此字符列表存储在数据库或配置文件中还意味着您不必在每次遇到要检查的新字符时都重新构建应用程序。

    注意

    从 .NET 4 开始,.Trim() 删除了Char.IsWhiteSpace 返回true 的任何字符,因此它应该适用于您遇到的大多数情况。鉴于此,将这个调用替换为需要您必须维护的字符列表的调用可能不是一个好主意。

    最好调用默认的.Trim(),然后然后用你的字符列表调用方法。

    【讨论】:

      【解决方案2】:

      你可以使用:

      • String.TrimStart - 从当前 String 对象中删除数组中指定的一组字符的所有前导匹配项。
      • String.TrimEnd - 从当前 String 对象中删除数组中指定的一组字符的所有尾随出现。
      • String.Trim - 以上两个功能的组合

      用法:

      string txt = "                   i am a string                                    ";
      char[] charsToTrim = { ' ' };    
      txt = txt.Trim(charsToTrim)); // txt = "i am a string"
      

      编辑:

      txt = txt.Replace(" ", ""); // txt = "iamastring"   
      

      【讨论】:

        【解决方案3】:

        我真的不明白其他答案正在跳过的一些箍。

        var myString = "    this    is my String ";
        var newstring = myString.Trim(); // results in "this is my String"
        var noSpaceString = myString.Replace(" ", ""); // results in "thisismyString";
        

        这不是火箭科学。

        【讨论】:

          【解决方案4】:
          txt = txt.Trim();
          

          【讨论】:

            【解决方案5】:

            或者您可以将字符串拆分为字符串数组,按空格拆分,然后将字符串数组的每一项添加到空字符串中。
            可能这不是最好和最快的方法,但如果其他答案不是您想要的,您可以尝试。

            【讨论】:

            • 这适用于替换不在字符串开头或结尾的空格。
            【解决方案6】:

            text.Trim() 将被使用

            string txt = "                   i am a string                                    ";
            txt = txt.Trim();
            

            【讨论】:

              【解决方案7】:

              使用 Trim 方法。

              【讨论】:

                【解决方案8】:
                 static void Main()
                    {
                        // A.
                        // Example strings with multiple whitespaces.
                        string s1 = "He saw   a cute\tdog.";
                        string s2 = "There\n\twas another sentence.";
                
                        // B.
                        // Create the Regex.
                        Regex r = new Regex(@"\s+");
                
                        // C.
                        // Strip multiple spaces.
                        string s3 = r.Replace(s1, @" ");
                        Console.WriteLine(s3);
                
                        // D.
                        // Strip multiple spaces.
                        string s4 = r.Replace(s2, @" ");
                        Console.WriteLine(s4);
                        Console.ReadLine();
                    }
                

                输出:

                他看到了一只可爱的狗。 还有一句话。 他看到了一只可爱的狗。

                【讨论】:

                  【解决方案9】:

                  你可以使用

                  string txt = "                   i am a string                                    ";
                  txt = txt.TrimStart().TrimEnd();
                  

                  输出是“我是一个字符串”

                  【讨论】:

                  • @john:试图通过回答老问题获得声誉并没有错,只要答案
                  • @NathanTuggy 确实如此。对不起,如果我觉得我暗示了除此之外的任何东西。现在回读我的评论听起来确实很笼统。当然,对老问题有好的答案是可以的。
                  • @john :我不指望声誉。如果您需要修剪左边的解决方案是什么?这就是我在这里提到的原因。抱歉给您带来不便。
                  • 如果你需要左修剪,已经有问题了。如果没有,您可以创建一个问答式的问题,您可以提出并回答。
                  猜你喜欢
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 2016-10-11
                  • 2012-04-19
                  • 1970-01-01
                  • 2011-10-02
                  相关资源
                  最近更新 更多