4 votes

Le signe du dollar littéral dans une expression régulière

Je travaille avec la locale Canada (fr-CA) et j'essaie de faire ce qui suit :

var str = "<dataset >{1}</dataset>";
var temp = "<set Cost x = '1,8M $' />";

str = str.replace(/\{1\}/g, temp);

SORTIE :

"<dataset ><set Cost x = '1,8M  </dataset>" /></dataset>"

LA SORTIE SOUHAITÉE :

"<dataset ><set Cost x = '1,8M $'" /></dataset>"

remplacer la fonction est un malentendu $ de '1,8M $' comme une expression et donc
se répétant dans la sortie. Avez-vous une idée ou une solution ? Merci pour votre temps.

6voto

Ryan M Points 2062

$' a une signification particulière dans la chaîne de remplacement lors de l'utilisation d'expressions régulières JS : il insère la partie de la chaîne qui suit la sous-chaîne trouvée. Pour obtenir un signe dollar littéral dans la chaîne de remplacement, utilisez $$ .

Ver https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace .

0voto

callmehiphop Points 314

Pourriez-vous simplement utiliser le code ascii pour le signe du dollar ? &#36;

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X