Supprimer les espaces dans une chaine

Résolu
LordOfTheShadow
Messages postés
174
Date d'inscription
vendredi 22 décembre 2000
Statut
Membre
Dernière intervention
9 septembre 2010
- 22 juil. 2009 à 14:42
billou_13
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
- 27 juil. 2009 à 12:12
Hello à tous!

Je cherche à supprimer les espaces blancs dans une chaîne de caractères issus d'une cellule de datagridView mais en vain. Voici mon code:

private object Supprimer_espaces(DataGridViewCell dg)
{
string valeur = dg.Value.ToString();

//Pour tous les caractères de la valeur:
for (int i = 0; i < valeur.Length; i++)
{
//Si c'est un espace:
if (valeur[i] == ' ')
valeur.Remove(i); //On l'efface.
}
return valeur;
}
Si quelqu'un a une idée je suis preneur.

La connaissance est la plus grande des richesses.

5 réponses

krimog
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Membre
Dernière intervention
14 février 2015
51
22 juil. 2009 à 15:12
Salut

Si tu souhaites utiliser ta méthode :
if (valeur[i] == ' ')
{
    valeur = valeur.Remove(i, 1); // On n'efface qu'un caractère, pas jusqu'à la fin
    // Et surtout, on enregistre le résultat (les méthodes ne changent pas la valeur du string source)
    i--; // Car s'il y a 2 espaces à la suite, il faut retester sur le caractère actuel 
    // (donc le -- ici et le ++ à la prochaine occurrence de la boucle s'annuleront
}


Mais surtout, beaucoup plus simple (tu vas vouloir de pendre, surtout si tu as eu des problèmes avec ta méthode ^^)

valeur = valeur.Replace(" ", "");


Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
3