Maison > interface Web > js tutoriel > Pourquoi ma méthode JavaScript `replace()` ne change-t-elle pas ma chaîne ?

Pourquoi ma méthode JavaScript `replace()` ne change-t-elle pas ma chaîne ?

Mary-Kate Olsen
Libérer: 2024-12-31 16:04:17
original
541 Les gens l'ont consulté

Why Doesn't My JavaScript `replace()` Method Change My String?

Comprendre la méthode replace() dans les chaînes

En programmation, la méthode replace() vous permet de remplacer une sous-chaîne spécifique par une autre dans une chaîne donnée. Récemment, un utilisateur a rencontré un problème en tentant de remplacer les guillemets intelligents et les symboles enregistrés par leurs équivalents habituels.

L'utilisateur a utilisé le code suivant :

str.replace(/[“”]/g, '"');
str.replace(/[‘’]/g, "'");
Copier après la connexion

Cependant, ce code n'a pas réussi à produire le résultat souhaité. En effet, en JavaScript, les chaînes sont immuables. La méthode replace() génère une nouvelle chaîne, laissant celle d'origine inchangée.

Solution :

Pour remplacer correctement les guillemets intelligents et les symboles, le code doit être modifié comme suit :

str = str.replace(/[“”]/g, '"');
str = str.replace(/[‘’]/g, "'");
Copier après la connexion

Alternativement, une seule déclaration peut aboutir au même résultat :

str = str.replace(/[“”]/g, '"').replace(/[‘’]/g,"'");
Copier après la connexion

Par en attribuant la nouvelle chaîne à la variable d'origine, vous écrasez effectivement la chaîne d'origine par celle modifiée.

Notes supplémentaires :

Il est important de noter que le code suppose le codage UTF-16 pour les caractères. Si vos chaînes contiennent des caractères en dehors du plan multilingue de base (qui inclut des guillemets intelligents et des symboles enregistrés), vous devrez peut-être spécifier l'indicateur Unicode (u) pour garantir une correspondance correcte.

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.cn
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