Supprimer les espaces dans une chaine [Résolu]

Messages postés
175
Date d'inscription
vendredi 22 décembre 2000
Statut
Membre
Dernière intervention
9 septembre 2010
- - Dernière réponse : billou_13
Messages postés
874
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.
Afficher la suite 

5 réponses

Meilleure réponse
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
28
3
Merci
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 ! -

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 186 internautes nous ont dit merci ce mois-ci

Commenter la réponse de krimog
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
1
Merci
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
---------------------
Commenter la réponse de billou_13
Messages postés
238
Date d'inscription
lundi 2 mars 2009
Statut
Membre
Dernière intervention
29 septembre 2011
0
Merci
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 !!
Commenter la réponse de cs_MoH008
Messages postés
1863
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
28
0
Merci
@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 ! -
Commenter la réponse de krimog
Messages postés
874
Date d'inscription
jeudi 4 mars 2004
Statut
Membre
Dernière intervention
19 août 2014
15
0
Merci
@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
---------------------
Commenter la réponse de billou_13