Remplacer tous les occurences d'un motif dans une chaîne

cs_zarzar Messages postés 38 Date d'inscription dimanche 29 juin 2003 Statut Membre Dernière intervention 7 juillet 2006 - 2 mars 2005 à 15:51
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 5 mars 2005 à 07:26
bonjour

je souhaiterais pouvoir remplacer toutes les occurences une sous-chaîne par une autre dans une chaine



exemple :

j'ai ma chaine str contenant "X" : "blaXblabla+3X-bou"

je voudrais me retrouver avec : "blaYblabla+3Y-bou"

c'est à dire remplacer dans str ttes les occurences de "X" par "Y"

pour l'instant, j'utilise str=str.replace("X","Y");

ca fonctionne lorsque la sous-chaine "X" est présente une seule fois sinon ça foire

snif

comment je peux faire svp ?

merci d'avance

8 réponses

coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
2 mars 2005 à 18:50
t'as indexof qui renvoi -1 si la chaine n'est pas présente...



tu peux faire un index puis un replace d'une partie de la chaine.... puis tu recommence...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
3 mars 2005 à 09:38
Bonjour,
faut regarder une doc des "expressions rationnelles"

function chgt(avant,apres,zone)
{ var reg=new RegExp(avant,"gi");
return zone.replace(reg,apres); }

"gi" :
g = à faire pour tous les caractères
i = ne pas faire la distinction entre
Majuscules et minuscules.

Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
3 mars 2005 à 19:09
une expression rationelle n'est pas une chaine... avant faut transformer, ou alors c'est pas apliquable à une variable... (et c'est vachement chiant...)

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 mars 2005 à 15:08
<script type="text/javascript">

function chgt(aremplacer,remplacerpar,zone)
{ var reg=new RegExp(aremplacer,"gi");
return zone.replace(reg,remplacerpar); }

var v="Xx remplacer les X ou x par Y";

alert(chgt("x","y",v));

</script>

ça ne s'applique pas à une variable ????
c'est chiant ???
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 mars 2005 à 16:36
bah comment tu fais si t'as des / par exemple...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
4 mars 2005 à 17:01
ça n'a plus rien à voir avec tes affirmations ...
mais : alert(chgt("/","°",v1));
mais je pense que tu voulais dire
"" ? alors alert(chgt("%2F","°",v2));

par exemple.

Cordialement. Bul. ~
Site
~~
[mailto:marcelBultez@tiscali.fr Mail
]~
0
coucou747 Messages postés 12303 Date d'inscription mardi 10 février 2004 Statut Membre Dernière intervention 30 juillet 2012 44
4 mars 2005 à 19:56
ce que je voulais dire c'est que ce n'est p as aplicable
directement... faut convertir la chaine... (je me suis surement mal
exprimé...) t'as pas que les / à enlever...

In a dream, I saw me, drop dead... U was here, U cried... It was just a deam, if I die, U won't cry, maybe, U'll be happy

http://coucou747.hopto.org
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
5 mars 2005 à 07:26
>>ce n'est pas aplicable directement
ben ? euh ? si !
var reg=new RegExp(variable ou champ ou "quelque chose à remplacer","gi");
variable ou champ.replace(reg,variable ou champ ou "sera remplacer par");
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
0
Rejoignez-nous