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

30 c# string

我有以下输入:

string txt = "                   i am a string                                    "
Run Code Online (Sandbox Code Playgroud)

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

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

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

Chr*_*isF 72

String.Trim

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

用法:

txt = txt.Trim();
Run Code Online (Sandbox Code Playgroud)

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

  char[] charsToTrim = { ' ', '\t' };
  string result = txt.Trim(charsToTrim);
Run Code Online (Sandbox Code Playgroud)

资源

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


Mar*_*cka 17

您可以使用:

  • 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"
Run Code Online (Sandbox Code Playgroud)

编辑:

txt = txt.Replace(" ", ""); // txt = "iamastring"   
Run Code Online (Sandbox Code Playgroud)


Ric*_*ant 8

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

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

这不是火箭科学.