繁体   English   中英

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

[英]How can I replace all occurrences of a dollar ($) with an underscore (_) in javascript?

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

我试过了:

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

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

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

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

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

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

您不需要使用RegExp 您可以使用文字语法:

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

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


编辑哦,你也可以使用splitjoin来解决这个问题:

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

........

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM