0
votes

Pourquoi la chaîne remplacer dans JS ne remplace pas tous les caractères

"+x-x+x"

3 commentaires

.replace seulement remplacer la première instance (caractère). Pour remplacer toutes les instances, vous devez utiliser regex .. console.log ('- x-x + x'.replace (/ - / g,' + '));


Recherche sur Stackoverflow pour "[JavaScript] Remplacer toutes les instances" Tire de nombreux postes en double posant essentiellement la même question.


@Taplar il ne répond pas pourquoi


3 Réponses :


1
votes

.replace ne remplace que la première instance qu'il trouve. Pour les remplacer tous, utilisez une regex:

"- x-x + x" .replace (/ / g, '+')

Remarque Le / g à la fin de la réégion: il indique le mode "global". Sans cela, vous ne remplacerez toujours que la première instance.


0 commentaires

1
votes

Convertissez-le en Regex pour remplacer tout.

p>

console.log("-x-x+x".replace(/-/g, '+'))


0 commentaires

1
votes

Ceci est expliqué dans la documentation de String # Remplacer code> :

Entrez la description de l'image ici p>

Utilisez une expression régulière: P>

'-x-x+x'.replace(/-/g, '+')
//=> "+x+x+x"


0 commentaires