C'est la première fois que je découvre que la méthode replace() en JavaScript ne remplacera le premier caractère correspondant que si str.replace("-","!") est utilisé directement
Et str.replace(/-/g, "!") peut remplacer tous les caractères correspondants (g est un indicateur global).
replace()
La méthode replace() renvoie la chaîne qui résulte lorsque vous remplacez le texte correspondant à son premier argument
(une expression régulière) avec le texte du deuxième argument (une chaîne).
Si l'indicateur g (global) n'est pas défini dans la déclaration de l'expression régulière, cette méthode remplace uniquement la première
occurrence du modèle. . Par exemple,
var s = "Bonjour. Les expressions rationnelles sont amusantes." ;s = s.replace(/./, "!" );
produit la chaîne « Bonjour ! Les expressions rationnelles sont amusantes. » L'inclusion de l'indicateur g amènera l'interprète à
effectuer un remplacement global, trouvant et remplaçant chaque sous-chaîne correspondante. Par exemple,
.
var s = "Bonjour. Les expressions rationnelles sont amusantes." ;s = s.replace(/./g, "!" ); // remplace tous les points par des points d'exclamation;
rendements ce résultat : "Bonjour ! Les expressions rationnelles sont amusantes !"
Vous pouvez donc utiliser les méthodes suivantes :
string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);
string :
StringExpressioncontient la sous-chaîne à remplacer.
reallyDo : la sous-chaîne recherchée.
replaceWith : Sous-chaîne utilisée pour le remplacement.
Code Js
<script type="text/javascript"> String.prototype.replaceAll = function(reallyDo, replaceWith, ignoreCase) { if (!RegExp.prototype.isPrototypeOf(reallyDo)) { return this.replace(new RegExp(reallyDo, (ignoreCase ? "gi": "g")), replaceWith); } else { return this.replace(reallyDo, replaceWith); } } </script>
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!