【问题标题】:Construct an escaped string [duplicate]构造一个转义字符串[重复]
【发布时间】:2017-11-09 21:19:40
【问题描述】:

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

基本上应该可以转换

输入字符串:

他没有说,“停下!”

输出字符串:

他没有说,“停!”

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

在下划线的转义api中,

var a = '"测试"'; _.escape(a)

返回

""test""

但我想要\"test\"'的格式

【问题讨论】:

  • 查看JSON.stringify
  • 所以基本上你想要做的就是替换 "\" ...?

标签: javascript string


【解决方案1】:

使用JSON.stringify?

console.log(JSON.stringify('Hello "world"').slice(1, -1));

【讨论】:

  • 嗯已经是 here 的答案了,但是嘿,这个是可运行的 :)
【解决方案2】:

如果您只想将" 替换为\",您可以这样做:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    • 2016-08-02
    • 2011-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-05
    相关资源
    最近更新 更多