Подтвердить что ты не робот

Как заменить все вхождения доллара ($) символом подчеркивания (_) в javascript?

Как указано в заголовке, мне нужно связать все вхождения знака $в строковой переменной с подчеркиванием.

Я пробовал:

str.replace(new RegExp('$', 'g'), '_');

Но это не работает для меня, и ничего не заменяется.

4b9b3361

Ответ 1

$ в RegExp является специальным символом, поэтому вам нужно избежать его с обратной косой чертой.

new_str = str.replace(new RegExp('\\$', 'g'), '_');

однако в JS вы можете использовать более простой синтаксис

new_str = str.replace(/\$/g, '_');

Ответ 2

Вам не нужно использовать RegExp. Вы можете использовать буквенный синтаксис:

str.replace(/\$/g, '_')

Вам просто нужно избежать символа $ как своего специального символа в регулярных выражениях, который отмечает конец строки.


Изменить О, вы также можете использовать split и join для решения этой проблемы:

str.split("$").join("_")

Ответ 3

........

str.replace(new RegExp('\\$', 'g'), '_');

Becaue $ является специальным char в js, вам нужно его избежать.

Ответ 4

Вам не нужны регулярные выражения, чтобы заменить один символ:

 newStr = oldStr.replace('$', '_')