JavaScript将双引号替换为斜杠

29

我想在Javascript中用 \" 替换 "

我有:

text = text.toString().replace("\"", '\\"')

结果:

\\"

1
你试过删除其中一个反斜杠吗? - GreenGiant
4个回答

53

试试这个:

text = text.toString().replace(/"/g, '\\"')

或者这样:

text = text.toString().replace('"', '\\"')

8
注意!第二个例子只替换字符串中第一次出现的双引号。只有使用正则表达式重载才能替换所有出现的双引号。 - ghord

6
我有一个基于antyrat回答的小建议。
text = text.toString().replace(/\\"/g, '"').replace(/"/g, '\\"');

这个额外的步骤将首先替换所有的 \" 为 ",然后再将所有的 " 替换回 \". 当你当前的字符串包含 \" 和 " 的组合时,尤其是当该字符串是 JSON.stringify() 的结果时,这将非常有帮助。

1

var text = JSON.stringify(JSON.stringify(text))


1

这个可以:

text = text.toString().replace("\"", '\\\"');

您基本上需要通过 \ 来转义 \ 和 "。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接