Comment remplacer toutes les occurrences d'une chaîne en JavaScript ?
Comment faire pour remplacer toutes les occurrences d'une chaîne en JavaScript ?
var test = "un deux trois un deux trois";
Comment par exemple remplacer deux par quatre ?
Vous pouvez utiliser les expressions régulières pour remplacer toutes les occurrences d'une chaîne en JavaScript :
<script>
var test = "un deux trois un deux trois";
var test = test.replace(/deux/g, 'quatre');
alert(test);
</script>
Remarque : L'option g effectue une substitution sensible à la casse ; pour effectuer un remplacement insensible à la casse, ajoutez l’option i dans l’expression régulière :
var test = test.replace(/deux/gi, 'quatre');
Vous trouverez d'avantage d'informations sur la méthode replace()
, et sur la manière de remplacer toutes les occurrences d'une chaîne en JavaScript sur cette page du site de Mozilla.
Une autre solution consiste à utiliser split()
et join()
pour remplacer toutes les occurrences d'une chaîne en JavaScript :
- La méthode split() tronque une chaîne lorsqu'elle trouve une occurrence et renvoie un tableau.
- La méthode join() crée et renvoie une nouvelle chaîne en concaténant tous les éléments du tableau.
exemple :
<script>
var test = "un deux trois un deux trois";
var test = test.split('deux').join('quatre');
alert(test);
</script>
Remarque : Cette méthode est quelque peu plus lente que la solution utilisant les expressions régulières.
Il existe depuis peu la méthode JavaScript replaceAll(), elle permet de remplacer toutes les occurrences :
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>Comment remplacer toutes les occurrences d'une chaîne en JavaScript ?</title>
</head>
<body>
<script>
let chaine = "yui abc def ghi yui klm";
let resultat = chaine.replaceAll("yui", "");
alert(resultat);
</script>
</body>
</html>