Remplacement en cascade [Résolu]

Signaler
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015
-
vegetalain
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015
-
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.

2 réponses

Messages postés
1204
Date d'inscription
lundi 10 mars 2003
Statut
Membre
Dernière intervention
23 juillet 2009
2
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;

@+
Messages postés
745
Date d'inscription
mardi 25 mars 2003
Statut
Membre
Dernière intervention
14 juillet 2015

Merci bien, ça marche pile poil !!! :D