Как заменить все вхождения доллара ($) символом подчеркивания (_) в javascript?
Как указано в заголовке, мне нужно связать все вхождения знака $в строковой переменной с подчеркиванием.
Я пробовал:
str.replace(new RegExp('$', 'g'), '_');
Но это не работает для меня, и ничего не заменяется.
Ответы
Ответ 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('$', '_')