javascript - 替换方法不起作用

标签 javascript

我想替换像 这样的智能引号, , 到常规报价。另外,我想替换 © , ® .我使用了以下代码。但这无济于事。
请帮我解决这个问题。

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/

相关文章:

javascript - 自制的Jquery灯箱,但z-index之后不会变回来

javascript - 很难调试错误 - 第 2 列的 token '{' 无效 key

javascript - 将 SPAN 包裹在 DIV 中的所有数字周围

javascript - 选项.删除();不起作用,奇怪的行为

javascript - D3 折线图的解析日期 "2013-07-11T00:00:00"

javascript - 为什么我的可点击图像不起作用?

javascript - 如何在 JavaScript 中模拟 let 表达式?

javascript - 如何将 Jquery Datatables Ellipsis 渲染器用于模板字段链接按钮?

firefox-addon - 如何从 Firefox 扩展中的 Javascript 模块登录

自定义 js 文件中的 javascript onclick null