Problème :
Lors de l'utilisation du remplacement intégré de JavaScript ( ) pour remplacer une sous-chaîne, seule la première occurrence est remplacée, comme le montre cet exemple :
<code class="javascript">var string = "Test abc test test abc test test test abc test test abc"; string = string.replace('abc', ''); // Only replaces the first 'abc' occurrence</code>
Comment remplacer toutes les occurrences d'une sous-chaîne en JavaScript ?
Solution :
Navigateurs modernes :
Les navigateurs modernes prennent en charge la méthode String.replaceAll(), qui remplace toutes les occurrences d'une sous-chaîne par un remplacement spécifié :
<code class="javascript">string = string.replaceAll('abc', ''); // Replaces all 'abc' occurrences</code>
Fonction personnalisée :
Pour les anciens ou anciens navigateurs navigateurs qui ne prennent pas en charge String.replaceAll(), nous pouvons utiliser une fonction personnalisée :
<code class="javascript">function replaceAll(str, find, replace) { return str.replace(new RegExp(escapeRegExp(find), 'g'), replace); } function escapeRegExp(str) { return str.replace(/[.*+?^${}()|[\]\]/g, '\$&'); }</code>
Utilisation :
<code class="javascript">console.log(replaceAll(string, 'abc', '')); // Replaces all 'abc' occurrences</code>
Remarque :
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!