How can I replace all occurrences of a dollar ($)

2019-02-11 18:32发布

问题:

As the title states, I need to relace all occurrences of the $ sign in a string variable with an underscore.

I have tried:

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

But this doesn't work for me and nothing gets replaced.

回答1:

The $ in RegExp is a special character, so you need to escape it with backslash.

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

however, in JS you can use the simpler syntax

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


回答2:

You don’t need to use RegExp. You can use the literal syntax:

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

You just need to escape the $ character as it’s a special character in regular expressions that marks the end of the string.


Edit    Oh, you can also use split and join to solve this:

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


回答3:

........

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

Becaue $ is special char in js, you need to escape it.



回答4:

You don't need regular expressions just to replace one symbol:

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