Forum de discussion
Forum « Programmation Javascript » (archives)
Re: comment remplacer un charactere par un autre dans une chaine de charactere
Envoyé: 3 septembre 2001, 13h48 par Oznog
En Javascript il faut utiliser les expressions régulières. Expliquer en détail ici cette fonction extrèmement puissante serait de la folie mais je vais te donner l'exemple que tu veux.
<script language="javascript1.2">
txt = "allo \"allo\" allo";
document.write (txt.replace(/"/g,"'"));
</script>
L'expression régulière permet un "match" entre un "patern" et ta chaîne de caractères. Dans ce cas ci. Je "match" le guillemets, /"/ j'ai ajouter le le "g" pour indiquer qu'il doit "matcher" tous les guillements et non seulement le premier. Donc /"/g qui sera remplacé par le simple guillemet '.
Tu peux te faire une fonction.
<script language="javascript1.2">
function remplacement(nChaine,nCharVieux,nCharNeo){
var regStr = "/" + nCharVieux + "/g";
var regExp = eval(regStr);
return nChaine.replace(regExp,nCharNeo);
}
</script>
<script language="javascript1.2">
document.write (remplacement("allo \"allo\" allo","\"","'"));
</script>
ATTENTION, un caractère comme le double guillement est déjà un caractère spécial alors pour indiquer au moteur Javascript de le traîter comme un simple caractère il faut ajouter la barre oblique devant.
Ex :
"allo \"allo\" allo"
ou
"\""
Tu comprend bien que c'est pour indiquer que le " n'est pas le caractère qui indique la fin de la chaîne de caractères main qu'il fait parti intégrante de la chaîne....
Ciao
Oznog
Réponses
|