Maison  >  Article  >  interface Web  >  Comment remplacer tous les caractères spécifiés dans une chaîne en utilisant js

Comment remplacer tous les caractères spécifiés dans une chaîne en utilisant js

怪我咯
怪我咯original
2017-03-30 09:41:482453parcourir

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!

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