Application console remplacer un caractere dans une chaine

Résolu
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 22 févr. 2006 à 11:34
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 22 févr. 2006 à 18:23
bonjour a tous,

J'ai une p'tite application console qui ne fait que de prendre une chaine et de voir si des mauvais caracteres y sont !Ces mauvais caracteres sont stockes dans un tableau de char !

si ceux ci sont presents dans la chaine , je les envele grace a la methode .Insert qui prent un entier + la chaine a remplacer !

J'ai beau essaye ca ne marche pas ma chaine resort identique a l'entree !!!

si je rentre
chri>tophe

il me resort

chri>tophe
alors que je voudrais chri_tophe

Si vous avez une idée !


private static char[] badCharacter = {'>','<','"'};



static
void Main(
string[] args)


{


Console.WriteLine("entrez une phrase");



string ch = Console.ReadLine();



for(
int i = 0; i<ch.Length; i++)


{



for(
int j = 0; j<badCharacter.Length; j++)


{



if(ch[i] == badCharacter[j])


{


ch.Insert(i,"_");


}


}


}


Console.WriteLine(ch);


Console.ReadLine();

Christophe

2 réponses

cs_fcolo Messages postés 201 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 20 février 2007 2
22 févr. 2006 à 11:49
Le Insert() te retourne un String correspondant à ton string modifié.
C'est à dire que ton ch initial n'est pas modifié, il faut que tu le modifie toi meme.
Tu dois donc faire dans ton for:

ch = ch.Remove(i, 1).Insert(i,"_");

f.colo
3
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
22 févr. 2006 à 18:23
salut salut

je te remercie pour tes infos !

bonne semaine

christophe
0
Rejoignez-nous