文字列の最初または最後からすべての空白を削除するにはどうすればよいですか?


208

文字列の最初と最後からすべての空白を削除するにはどうすればよいですか?

そのようです:

"hello"リターン"hello"
"hello "リターン"hello"
" hello "リターン"hello"
" hello world "リターン"hello world"

回答:


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
white MSによる空白の定義。.TrimEnd()機能しない(改行しないスペース文字の場合)奇妙な動作に遭遇しましたが、結局のところ、その文字はドキュメントにリストされていません。
Hi-Angel

2
文字列をトリムする方法は数多くあり、かなりの数がベンチマークされています。それでも、私は.Trim()が最も速く、最も読みやすいことを気に入っています。

多分これを知っておくと便利です:TextAreaのように複数行がある場合。Enterキーを押すと、次のような結果が得" A String \r\n " .Trim()られます。これもスペースとして認識されます。
Nash Carp

@NashCarp:\ rと\ nも空白文字だからです
huha

20

Trim()が呼び出された文字列の最初と最後から空白を削除した新しい文字列を返すを見てください。





8

String.Trim()文字列の最初と最後からすべての空白を削除します。文字列内の空白を削除するか、空白を正規化するには、正規表現を使用します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.