Come rimuovere tutto lo spazio bianco dall'inizio o dalla fine di una stringa?


208

Come posso rimuovere tutto lo spazio bianco dall'inizio e dalla fine di una stringa?

Così:

"hello"ritorni "hello"
"hello "ritorni "hello"
" hello "ritorni "hello"
" hello world "ritorni"hello world"

Risposte:


445

String.Trim()restituisce una stringa che è uguale alla stringa di input con tutti gli spazi bianchi tagliati dall'inizio e dalla fine:

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

String.TrimStart() restituisce una stringa con spazi bianchi tagliati dall'inizio:

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

String.TrimEnd() restituisce una stringa con spazi bianchi tagliati dalla fine:

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

Nessuno dei metodi modifica l'oggetto stringa originale.

(Almeno in alcune implementazioni, se non ci sono spazi bianchi da tagliare, si ottiene lo stesso oggetto stringa con cui si è iniziato:

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

Non so se questo è garantito dalla lingua.)


1
⁺¹ per la definizione MS di spazi bianchi. Ho incontrato un comportamento strano che .TrimEnd()non funziona (per il carattere dello spazio non-break) , ma alla fine è solo che il personaggio non è elencato nella documentazione.
Hi-Angel,

2
Esistono numerosi modi per tagliare le corde e alcune sono contrassegnate da banco. Tuttavia, mi piace .Trim () come il più veloce da scrivere e più facile da leggere.

Forse è utile sapere questo: se hai moltiplicare le righe come in un TextArea. E premi il tasto Invio, ottieni qualcosa del genere: " A String \r\n " .Trim()riconosce anche questo come uno spazio.
Nash Carp,

@NashCarp: Questo perché \ r e \ n sono anche caratteri di spazi bianchi
huha

20

dare un'occhiata a Trim()che restituisce una nuova stringa con spazio vuoto rimosso dall'inizio e dalla fine della stringa su cui viene chiamata.


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

trimmed è ora "Hello"


13

usa la String.Trim()funzione.

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

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


8

String.Trim()rimuove tutto lo spazio bianco dall'inizio e dalla fine di una stringa. Per rimuovere gli spazi bianchi all'interno di una stringa o normalizzare gli spazi bianchi, utilizzare un'espressione regolare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.