Como remover todo o espaço em branco do início ou do fim de uma string?

208

Como posso remover todo o espaço em branco do início e do fim de uma string?

Igual a:

"hello"retorna "hello"
"hello "retorna "hello"
" hello "retorna "hello"
" hello world "retorna"hello world"

pedram
fonte

Respostas:

445

String.Trim()retorna uma string que é igual à string de entrada com todos os espaços em branco aparados do início e do fim:

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

String.TrimStart() retorna uma string com espaços em branco aparados desde o início:

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

String.TrimEnd() retorna uma string com espaços em branco aparados no final:

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

Nenhum dos métodos modifica o objeto de seqüência de caracteres original.

(Em algumas implementações, pelo menos, se não houver espaços em branco a serem aparados, você retornará o mesmo objeto de sequência que iniciou:

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

Não sei se isso é garantido pelo idioma.)

Mau
fonte
1
⁺¹ para a definição de espaço em branco da MS. Conheci um comportamento estranho que .TrimEnd()não funciona (para caracteres de espaço sem quebra) , mas no final é apenas o personagem que não está listado na documentação.
Hi-Angel
2
Existem várias maneiras de cortar cordas, e algumas são marcadas como benchmarks. Ainda assim, gosto do .Trim () como o mais rápido de escrever e mais fácil de ler.
Talvez seja útil saber disso: se você multiplicar linhas como em uma TextArea. E você pressiona a tecla Enter, obtém algo como: " A String \r\n " .Trim()reconhece isso como um espaço também.
Nash Carp
@NashCarp: Isso porque \ re e \ n também são caracteres de espaço em branco
huha 08/03/19
20

dê uma olhada em Trim()que retorna uma nova string com os espaços em branco removidos do início e do final da string em que é chamada.

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

trimmed é agora "Hello"

adamse
fonte
13

use a String.Trim()função

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

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

Use o String.Trimmétodo

jwaliszko
fonte
8

String.Trim()remove todo o espaço em branco do início e do fim de uma string. Para remover espaços em branco dentro de uma sequência ou normalizar espaços em branco, use uma Expressão Regular.

tdammers
fonte