2009-04-25 5 views
2

Pour ajouter un séparateur d'espaces dans une chaîne, nous utilisons String.Join().Suppression d'espaces dans une chaîne

Ma question: Qu'est-ce (et comment) dois-je supprimer ce seperator.

La structure de chaîne est la suivante "FF FF FF FF FF FF FF FF FF ...."

Comment puis-je supprimer les espaces blancs?

+1

Contrôlez-vous le code qui construit la chaîne? Je demande parce que le moyen easiet serait bien sûr de ne pas l'ajouter en premier lieu: String.Join ("", valeurs) –

Répondre

8

C# A une fonction pour cela.

La fonction est String.Replace (oldstring, newString);

String.Replace(" ", ""); 
+0

Une version légèrement plus lisible serait: String.Replace ("", string.Empty); En fin de compte, c'est la même chose. –

+3

Rappelez-vous que les fonctions de chaîne ne modifient pas la chaîne d'origine. Vous avez donc besoin de var s = "FF FF FF FF"; var s = s.Replace ("", ""); (si je me souviens bien). Même si je le sais, je l'ai oublié plusieurs fois et je me demandais pourquoi ma chaîne ne changeait pas, etc.: p – Svish

+0

Je trouve string.Empty d'être moins lisible puisque les guillemets sont rouges et string.Empty ne l'est pas. – PRMan

3

Je ne pense pas que vous devez utiliser LINQ pour cela. Il suffit de diviser les espaces, puis de les rejoindre en utilisant une chaîne vide comme séparateur. Ce serait mieux si vous aviez des espaces mixtes - onglets, des sauts de ligne, etc.

var newStr = string.Join(string.Empty, str.Split()); 

ou remplacer les espaces blancs avec la chaîne vide (ce qui serait le meilleur si tous les espaces où le même personnage).

var newStr = string.Replace(" ", string.Empty);