замена строки несколькими символами $ в javascript

Я пытаюсь заменить строку несколькими символами $ в JavaScript, используя функцию замены. Но все символы $ не записываются.

Например:

var a = "xyz";
a = a.replace("xyz", "$$$");
console.log(a)

Выход:

$$

person coder    schedule 26.06.2018    source источник
comment
Символ $ используется в замещающих строках. Вы должны использовать два символа $ для каждого, который вам действительно нужен.   -  person Pointy    schedule 26.06.2018


Ответы (2)


Символ $ имеет особое значение при использовании внутри String.replace. Его можно избежать, удвоив его:

var a = "xyz";
a = a.replace("xyz", "$$$$$$");
console.log(a)

person Salman A    schedule 26.06.2018
comment
но даже для $$$$$ (5 долларовых символов) он печатает $$$ (3 долларовых символа) - person coder; 26.06.2018
comment
Да. Чтобы быть более точным, за символом $ должны следовать определенные символы, например. цифры или символ $, чтобы иметь эффект (см. документ). 5-й символ $ в вашем примере не заменяется и отображается как есть. - person Salman A; 26.06.2018

$ — специальный символ. поэтому вы должны использовать дополнительные $ для каждого из них

var a = "xyz";
a = a.replace("xyz", "$$$$$$");
console.log(a)

person alynurly    schedule 26.06.2018