Remplacement en cascade [Résolu]

Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015
- - Dernière réponse : vegetalain
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015
- 16 juin 2009 à 16:29
Salut tout le monde...
Euh, voilà, j'aimerais... hm... remplacer plusieurs caractères dans un champ texte, où un xml est chargé... le but étant de réécrire le xml avec une donnée "modifiée"... càd, un nombre entre 1 et 90.

J'utilise déjà ça dans un bouton :
     var chaine:String = go.text;
     chaine = chaine.split("a").join("e");
     go.text = chaine;

Et ça le fait. mais ce qu'il faut c'est que je supprime un truc du genre : <Liste List_Number="9">

Donc j'avais mis ça pour le virer, avec un "9"... :
     var chaine:String = go.text;
     chaine = chaine.split("<Liste List_Number=" + chr(34) + "9" + chr(34) + ">").join("");
     go.text = chaine;

     (le char(34) c'est pour les guillemets)

Seulement ça peut-être inférieur ou sup' à "9", ...

Donc, comment éviter ça :

     var chaine:String = go.text;
     chaine = chaine.split("<Liste List_Number=" + chr(34) + "9" + chr(34) + ">").join("");
     chaine = chaine.split("<Liste List_Number=" + chr(34) + "10" + chr(34) + ">").join("");

     chaine = chaine.split("<Liste List_Number=" + chr(34) + "11" + chr(34) + ">").join("");

     chaine = chaine.split("<Liste List_Number=" + chr(34) + "12" + chr(34) + ">").join("");

     chaine = chaine.split("<Liste List_Number=" + chr(34) + "13" + chr(34) + ">").join("");

     chaine = chaine.split("<Liste List_Number=" + chr(34) + "1"4 + chr(34) + ">").join("");

     chaine = chaine.split("<Liste List_Number=" + chr(34) + "15" + chr(34) + ">").join("");
etc...
     go.text = chaine;

?... je sèche... snif. Sachant que ça ne pourras pas dépasser 90 à mon avis...

Merci de vos lumières.
Afficher la suite 

2 réponses

Meilleure réponse
Messages postés
1204
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
3
Merci
Bonjour,

une simple boucle devrait faire l'affaire

var chaine:String = go.text;
for (var i:Number=0;i<91;i++){
    chaine = chaine.split("<Liste List_Number=" + chr(34) + i+ chr(34) + ">").join("");
}
go.text = chaine;

@+

Dire « Merci » 3

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

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

Commenter la réponse de cs_Girou
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015
0
Merci
Merci bien, ça marche pile poil !!! :D
Commenter la réponse de vegetalain