构造转义字符串

时间:2017-06-08 08:50:43

标签: javascript string

我在javascript中为java中的StringEscapeUtils寻找替代api。

基本上它应该能够转换

输入字符串:

  

他没有说,“停!”

输出字符串:

  

他没有说,“停!”

我们可以使用任何下划线或任何其他util函数来做同样的事情吗?

在下划线的逃脱api中,

  

var a ='“test”';   _.escape(a)中

返回

""test""

但我希望格式为\"test\"'

2 个答案:

答案 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替换,只使用了不同的正则表达式。