Supprimer les espaces dans une chaine [Résolu]

Signaler
Messages postés
174
Date d'inscription
vendredi 22 décembre 2000
Statut
Membre
Dernière intervention
9 septembre 2010
-
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
-
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

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
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 ! -
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
Et pourquoi ne pas utiliser string.Replace(" ", string.Empty) ?

string valeur = dg.Value.ToString().Replace(" ", string.Empty);

Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------
Messages postés
238
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
29 septembre 2011

Salut,
la fonction Trim de la classe String retire les occurrences d'espace en début et fin de string


The possible meet the impossible to become the possimpible !!
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
42
@Billou_13 : C'est ce que j'ai dit en bas de mon message ;) (enfin, j'ai mis "" à la place de string.Empty, ce qui revient exactement au même)

Krimog : while (!(succeed = try())) ;
- NON, "LE BAR" n'est PAS un langage de programmation ! -
Messages postés
860
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
17
@krimog: Ouh là, dsl !
J'avais confondu le bas du message avec la signature. Pas encore habitué à toutes ces balises
Au temps pour moi ^^

Bonne journée,

Billou_13
Bask En Force

--------------------------------------------------------------------
Connaître la réponse est une chose, savoir pourquoi en est une autre
---------------------