Maison >interface Web >js tutoriel >Comment puis-je utiliser des variables dans `String.replaceAll()` de JavaScript avec des expressions régulières ?

Comment puis-je utiliser des variables dans `String.replaceAll()` de JavaScript avec des expressions régulières ?

Barbara Streisand
Barbara Streisandoriginal
2024-12-19 01:29:10128parcourir

How Can I Use Variables in JavaScript's `String.replaceAll()` with Regular Expressions?

Intégration de variables dans des expressions régulières

Lorsque vous recherchez une approche concise pour la méthode String.replaceAll() de JavaScript, les expressions régulières apparaissent souvent comme un idéal solution. Cependant, l’incorporation de variables dans ces expressions pose un défi. Bien qu'il soit possible de remplacer directement des caractères, par exemple en remplaçant "B" par "A", l'objectif est d'utiliser des variables dans la chaîne regex.

Pour ce faire, nous pouvons exploiter les objets RegExp. Au lieu d'utiliser la syntaxe traditionnelle /sREGEXs/g, nous créons un nouvel objet RegExp en utilisant le modèle suivant :

let re = new RegExp(String.raw`\s${variable}\s`, "g");

Ici, « variable » représente la chaîne que nous souhaitons remplacer dynamiquement. L'objet RegExp contient effectivement notre chaîne regex avec la variable intégrée.

Pour utiliser cet objet, nous procédons à l'étape suivante :

"mystring1".replace(re, "newstring");

Cette approche permet le remplacement de toute instance du 'variable' avec 'newstring' dans "mystring1."

Dans le cas d'anciens navigateurs ou d'environnements Node.js, l'alternative suivante peut être utilisé :

var re = new RegExp("\s" + variable + "\s", "g");
"mystring1".replace(re, "newstring");

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn