Bagaimana menghapus semua ruang putih dari awal atau akhir suatu string?

208

Bagaimana saya bisa menghapus semua ruang putih dari awal dan akhir string?

Seperti itu:

"hello"pengembalian "hello"
"hello "pengembalian "hello"
" hello "pengembalian "hello"
" hello world "pengembalian"hello world"

pedram
sumber

Jawaban:

445

String.Trim()mengembalikan string yang sama dengan string input dengan semua spasi putih dipangkas dari awal dan akhir:

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

String.TrimStart() mengembalikan string dengan spasi putih yang dipangkas dari awal:

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

String.TrimEnd() mengembalikan string dengan spasi putih yang dipangkas dari akhir:

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

Tidak ada metode yang memodifikasi objek string asli.

(Dalam beberapa implementasi setidaknya, jika tidak ada spasi putih untuk dipangkas, Anda mendapatkan kembali objek string yang sama dengan yang Anda mulai:

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

Saya tidak tahu apakah ini dijamin oleh bahasa.)

Mau
sumber
1
⁺¹ untuk definisi spasi putih MS. Saya bertemu dengan perilaku aneh yang .TrimEnd()tidak berhasil (untuk karakter spasi yang tidak melanggar) , tetapi pada akhirnya hanya karakter yang tidak tercantum dalam dokumentasi.
Hi-Angel
2
Ada banyak cara untuk memangkas dawai, dan beberapa di antaranya ditandai dengan bangku. Tetap saja, saya suka .Trim () sebagai yang tercepat untuk menulis dan paling mudah dibaca.
Mungkin berguna untuk mengetahui hal ini: Jika Anda memiliki banyak baris seperti di TextArea. Dan Anda menekan tombol enter, Anda mendapatkan sesuatu seperti: " A String \r\n " .Trim()tidak mengenali ini sebagai spasi juga.
Nash Carp
@NashCarp: Itu karena \ r dan \ n juga karakter spasi putih
huha
20

lihat di Trim()mana mengembalikan string baru dengan spasi dihapus dari awal dan akhir dari string yang dipanggil.

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

trimmed sekarang "Hello"

adamse
sumber
13

gunakan String.Trim()fungsinya.

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

Console.WriteLine(bar); // writes "hello"
Adam Robinson
sumber
10

Gunakan String.Trimmetode.

jwaliszko
sumber
8

String.Trim()menghapus semua spasi putih dari awal dan akhir string. Untuk menghapus spasi putih di dalam string, atau menormalkan spasi, gunakan Ekspresi Reguler.

tammmer
sumber