"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Pourquoi la méthode de remplacement de JavaScript remplace-t-elle uniquement la première instance ?

Pourquoi la méthode de remplacement de JavaScript remplace-t-elle uniquement la première instance ?

Publié le 2024-11-04
Parcourir:997

Why Does JavaScript\'s Replace Method Only Replace the First Instance?

Pourquoi JavaScript Replace remplace uniquement la première instance : exploration de l'indicateur RegExp

Lors de l'utilisation de la méthode de remplacement de JavaScript pour rechercher et remplacer une chaîne par une autre , vous pouvez rencontrer le comportement où seule la première instance de la chaîne cible est remplacée. Ce problème se produit car le comportement par défaut de replace consiste à effectuer une opération de recherche et de remplacement unique et non globale.

Remplacement global : l'indicateur RegExp

Pour tout remplacer instances d'une chaîne cible dans une chaîne, vous devez spécifier l'indicateur "global" (g) dans l'expression régulière utilisée dans la méthode de remplacement. Cet indicateur indique que l'opération de recherche et de remplacement doit avoir lieu sur toute la chaîne, en remplaçant chaque occurrence de la chaîne cible.

Par exemple, dans votre code :

var date = $('#Date').val(); // e.g., "12/31/2009"
var id = 'c_'   date.replace("/", ''); // c_1231/2009 (wrong)

Pour remplacer toutes les occurrences du caractère "/", vous devez spécifier le flag "global":

var id = 'c_'   date.replace(new RegExp("/", "g"), ''); // c_12312009 (correct)

Vous pouvez également utiliser la syntaxe plus courte :

var id = 'c_'   date.replace(/\//g, ''); // c_12312009 (correct)

En spécifiant l'indicateur "global", la méthode de remplacement remplacera chaque caractère barre oblique dans la chaîne de date, ce qui donnera la sortie correcte.

Déclaration de sortie Cet article est reproduit le: 1729641136 S'il y a une contrefaçon, veuillez contacter [email protected] pour le supprimer.
Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3