替换方法不起作用

18 javascript

我想替换像,常规报价的智能引号.另外,我想替换©,®.我使用了以下代码.但它没有帮助.请帮我解决这个问题.

str.replace(/[“”]/g, '"');
str.replace(/[‘’]/g, "'");
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 34

使用:

str = str.replace(/[“”]/g, '"');
str = str.replace(/[‘’]/g, "'");
Run Code Online (Sandbox Code Playgroud)

或者在一个声明中这样做:

str = str.replace(/[“”]/g, '"').replace(/[‘’]/g,"'");
Run Code Online (Sandbox Code Playgroud)

在JavaScript中(和许多其他语言一样)字符串是不可变的 - 字符串"替换"方法实际上只返回新字符串而不是修改字符串.

MDN JavaScript的参考项replace规定:

返回一个新字符串,其中一个或所有匹配的模式由替换替换.

...

此方法不会更改调用它的String对象.它只返回一个新字符串.

  • 另见:https://developer.mozilla.org/en/Core_JavaScript_1.5_Reference/Objects/String/replace (2认同)