我在javascript中为java中的StringEscapeUtils寻找替代api。
基本上它应该能够转换
输入字符串:
他没有说,“停!”
输出字符串:
他没有说,“停!”
我们可以使用任何下划线或任何其他util函数来做同样的事情吗?
在下划线的逃脱api中,
var a ='“test”'; _.escape(a)中
返回
""test""
但我希望格式为\"test\"'
答案 0 :(得分:1)
使用JSON.stringify
?
console.log(JSON.stringify('Hello "world"').slice(1, -1));

答案 1 :(得分:0)
如果您只想将"
替换为\"
,则可以执行以下操作:
var s = "He didn't say, \"Stop!\"";
console.log(s.replace(/"/g, '\\\"'));

如果你想逃避其他角色,你也可以这样做:
var s = "He didn't say, \"Stop!\"";
console.log(s.replace(/("|'|\\)/g, '\\\$1'));

两个示例都使用RegExp替换,只使用了不同的正则表达式。