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"

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.)


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.


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

trimmed est maintenant "Hello"


13

utilisez la String.Trim()fonction.

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

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


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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.