Maison > interface Web > js tutoriel > le corps du texte

Comment remplacer toutes les occurrences d'une chaîne en JavaScript

Barbara Streisand
Libérer: 2024-10-24 14:12:02
original
772 Les gens l'ont consulté

How to Replace All Occurrences of a String in JavaScript

Remplacement de plusieurs occurrences d'une chaîne en JavaScript

Vous devrez peut-être remplacer plusieurs occurrences d'une chaîne en JavaScript, mais la norme La méthode string.replace() supprime uniquement la première instance. Comment pouvez-vous vous assurer que toutes les occurrences sont remplacées ?

Solution moderne (ES2021)

Les navigateurs modernes prennent désormais en charge la méthode String.replaceAll(), qui vous permet nativement de remplacer toutes les instances d'une chaîne. Utilisez simplement la syntaxe :

<code class="js">string = string.replaceAll('abc', '');</code>
Copier après la connexion

Solution héritée pour les navigateurs plus anciens

Pour les navigateurs plus anciens, vous pouvez utiliser une expression régulière avec l'indicateur g (global) :

<code class="js">function replaceAll(str, find, replace) {
  return str.replace(new RegExp(find, 'g'), replace);
}</code>
Copier après la connexion

Échappement des caractères spéciaux

Les expressions régulières contiennent des caractères spéciaux, alors soyez prudent lorsque vous transmettez une variable pour l'argument find. Utilisez la fonction escapeRegExp() pour échapper en toute sécurité tous les caractères spéciaux :

<code class="js">function escapeRegExp(str) {
  return str.replace(/[.*+?^${}()|[\]\]/g, '\$&');
}</code>
Copier après la connexion

Par conséquent, la fonction replaceAll() mise à jour devient :

<code class="js">function replaceAll(str, find, replace) {
  return str.replace(new RegExp(escapeRegExp(find), 'g'), replace);
}</code>
Copier après la connexion

Cette solution garantit toutes les occurrences de la chaîne spécifiée sont remplacés malgré la compatibilité du navigateur.

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!

source:php
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal