Maison > interface Web > js tutoriel > Pourquoi `String.replace()` avec un signe dollar ($) donne-t-il une chaîne vide ?

Pourquoi `String.replace()` avec un signe dollar ($) donne-t-il une chaîne vide ?

Barbara Streisand
Libérer: 2024-10-30 01:00:02
original
1064 Les gens l'ont consulté

 Why Does `String.replace()` with a Dollar Sign ($) Result in an Empty String?

String.replace() Oddity avec le remplacement du signe dollar ($)

Lors de l'utilisation du remplacement de chaîne en JavaScript, un comportement particulier peut survenir avec le caractère du signe dollar ($). Considérez l'extrait de code suivant :

<code class="javascript">var text = "as";
text = text.replace(text,"$\'");
console.log(text);</code>
Copier après la connexion

Étonnamment, ce code génère une chaîne vide. Notre attente initiale aurait été qu'il imprime $'. Qu'est-ce qui explique ce résultat inattendu ?

La réponse réside dans la signification particulière de $ dans les expressions régulières JavaScript et la méthode de remplacement de chaîne. Dans ce contexte, $ désigne la fin de la chaîne, un comportement spécial qui remplace son rôle typique de caractère littéral.

Pour utiliser $ comme caractère réel dans la chaîne de remplacement, il est nécessaire de l'échapper en utilisant $$. En modifiant le code comme suit, nous obtenons le résultat souhaité :

<code class="javascript">var text = "as";
text = text.replace(text, "$$\'");
console.log(text);</code>
Copier après la connexion

Ce code mis à jour imprime correctement $' sur la console, montrant l'utilisation appropriée de $ comme caractère littéral dans les expressions régulières.

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