如何在javascript中用下划线(_)替换所有出现的美元($)?

时间:2010-03-12 17:05:54

标签: javascript replace

正如标题所述,我需要在带有下划线的字符串变量中重新发生所有出现的$符号。

我试过了:

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

但这对我不起作用,没有任何东西可以取代。

4 个答案:

答案 0 :(得分:47)

RegExp中的$是一个特殊字符,因此您需要使用反斜杠转义它。

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

但是,在JS中,您可以使用更简单的语法

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

答案 1 :(得分:8)

您无需使用RegExp。您可以使用文字语法:

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

你只需要转义$字符,因为它是标记字符串结尾的正则表达式中的特殊字符。


修改哦,您也可以使用splitjoin来解决此问题:

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

答案 2 :(得分:1)

........

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

Becaue $是js中的特殊字符,你需要逃脱它。

答案 3 :(得分:-4)

您只需要替换一个符号就不需要正则表达式:

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