我想替换像 ‘
这样的智能引号, ’
, “
和 ”
到常规报价。另外,我想替换 ©
, ®
和 ™
.我使用了以下代码。但这无济于事。
请帮我解决这个问题。
str.replace(/[“”]/g, '"');
str.replace(/[‘’]/g, "'");
最佳答案
利用:
str = str.replace(/[“”]/g, '"');
str = str.replace(/[‘’]/g, "'");
或者在一个声明中做到这一点:
str = str.replace(/[“”]/g, '"').replace(/[‘’]/g,"'");
在 JavaScript(与许多其他语言一样)中,字符串是不可变的 - 字符串“替换”方法实际上只是返回新字符串,而不是就地修改字符串。
MDN JavaScript reference entry对于
replace
状态:Returns a new string with some or all matches of a pattern replaced by a replacement.
…
This method does not change the String object it is called on. It simply returns a new string.
关于javascript - 替换方法不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1433212/