如何删除字符串开头或结尾的所有空格?


208

如何删除字符串开头和结尾的所有空格?

像这样:

"hello"退货"hello"
"hello "退货"hello"
" hello "退货"hello"
" hello world "退货"hello world"

Answers:


445

String.Trim()返回一个字符串,该字符串等于输入字符串,从开始结束修剪了所有空格

"   A String   ".Trim() -> "A String"

String.TrimStart() 返回从头开始修剪空格的字符串:

"   A String   ".TrimStart() -> "A String   "

String.TrimEnd() 返回一个字符串,该字符串从末尾开始修剪空格:

"   A String   ".TrimEnd() -> "   A String"

没有一种方法可以修改原始字符串对象。

(至少在某些实现中,如果没有要修剪的空格,您将返回开始时使用的相同字符串对象:

csharp> string a = "a"; csharp> string trimmed = a.Trim(); csharp> (object) a == (object) trimmed; returns true

我不知道这种语言是否可以保证。)


1
MS表示空白。我遇到了一个.TrimEnd()不起作用的奇怪行为(对于不间断的空格字符),但是最后只是该字符未在文档中列出。
Hi-Angel

2
修剪字符串的方法有很多,其中有很多是基准测试方法。不过,我喜欢.Trim()是最快的编写方式和最容易阅读的方法。

也许这很有用:如果您有像TextArea中那样的多行。然后按Enter键,您将得到类似:" A String \r\n " .Trim()的确也将其识别为空格。
纳什鲤鱼

@NashCarp:那是因为\ r和\ n也是空格字符
呵哈,


17
string a = "   Hello   ";
string trimmed = a.Trim();

trimmed 就是现在 "Hello"


13

使用String.Trim()功能。

string foo = "   hello ";
string bar = foo.Trim();

Console.WriteLine(bar); // writes "hello"


8

String.Trim()从字符串的开头和结尾删除所有空格。要删除字符串中的空格或规范空格,请使用正则表达式。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.