如何从字符串中删除前导和尾随空格

时间:2010-08-17 11:08:07

标签: c# string

我有以下输入:

string txt = "                   i am a string                                    "

我想从开始和从字符串结束时删除空格。

结果应为:"i am a string"

我怎样才能在c#中做到这一点?

9 个答案:

答案 0 :(得分:71)

String.Trim

  

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

用法:

txt = txt.Trim();

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

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

Source

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

答案 1 :(得分:16)

您可以使用:

  • 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"   

答案 2 :(得分:8)

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

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

这不是火箭科学。

答案 3 :(得分:5)

txt = txt.Trim();

答案 4 :(得分:4)

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

答案 5 :(得分:2)

text.Trim()将被使用

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

答案 6 :(得分:1)

使用修剪方法。

答案 7 :(得分:0)

 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();
    }

输出:

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

答案 8 :(得分:-3)

您可以使用

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

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