Comment supprimer tous les espaces blancs du début ou de la fin d'une chaîne?

208

Comment puis-je supprimer tous les espaces blancs du début et de la fin d'une chaîne?

Ainsi:

"hello"retours "hello"
"hello "retours "hello"
" hello "retours "hello"
" hello world "retours"hello world"

pedram
la source

Réponses:

445

String.Trim()renvoie une chaîne qui est égale à la chaîne d'entrée avec tous les espaces blancs coupés du début et de la fin:

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

String.TrimStart() renvoie une chaîne avec des espaces blancs coupés depuis le début:

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

String.TrimEnd() renvoie une chaîne avec des espaces blancs coupés à partir de la fin:

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

Aucune des méthodes ne modifie l'objet chaîne d'origine.

(Dans certaines implémentations au moins, s'il n'y a pas d'espaces blancs à couper, vous récupérez le même objet chaîne avec lequel vous avez commencé:

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

Je ne sais pas si cela est garanti par la langue.)

Mau
la source
1
⁺¹ pour la définition MS des espaces blancs. J'ai rencontré un comportement étrange qui .TrimEnd()ne fonctionne pas (pour un caractère d'espace insécable) , mais au final, c'est juste que le caractère n'est pas répertorié dans la documentation.
Hi-Angel
2
Il existe de nombreuses façons de couper les cordes, et bon nombre d'entre elles sont référencées. Pourtant, j'aime .Trim () comme étant le plus rapide à écrire et le plus facile à lire.
Peut-être est-il utile de savoir ceci: si vous avez des lignes multipliées comme dans un TextArea. Et vous appuyez sur la touche Entrée, vous obtenez quelque chose comme: " A String \r\n " .Trim()reconnaît également cela comme un espace.
Nash Carp
@NashCarp: C'est parce que \ r et \ n sont également des caractères d'
espacement
20

jetez un œil à Trim()ce qui renvoie une nouvelle chaîne avec des espaces supprimés au début et à la fin de la chaîne sur laquelle elle est appelée.

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

trimmed est maintenant "Hello"

admirer
la source
13

utilisez la String.Trim()fonction.

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

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

Utilisez la String.Trimméthode.

jwaliszko
la source
8

String.Trim()supprime tous les espaces du début et de la fin d'une chaîne. Pour supprimer des espaces à l'intérieur d'une chaîne ou normaliser des espaces, utilisez une expression régulière.

tdammers
la source