【问题标题】:how to escape characters in nodejs?如何在nodejs中转义字符?
【发布时间】:2014-04-23 08:14:56
【问题描述】:

我想知道如何在 nodejs 中转义特殊字符。我有一个字符串 $what$ever$ 在我用它调用 python 脚本之前,我需要它像 \$what\$ever\$ 一样转义。

我尝试了 querystring npm 包,但它做了其他事情。

【问题讨论】:

  • 它是 JavaScript,所以首先要找出你做什么和不需要转义以及如何转义:Regular Expression

标签: javascript regex node.js escaping


【解决方案1】:

你可以在没有任何模块的情况下做到这一点:

str.replace(/\\/g, "\\\\")
   .replace(/\$/g, "\\$")
   .replace(/'/g, "\\'")
   .replace(/"/g, "\\\"");

编辑:

更短的版本:

str.replace(/[\\$'"]/g, "\\$&")

(感谢 cmets 的 Mike Samuel)

【讨论】:

  • 这个可以简写成str.replace(/[\\$'"]/g, "\\$&")
【解决方案2】:

好的,这是一个快速的。不要指望它是最有效的东西,但它确实可以完成工作。

"$what$ever$".split("$").join("\\$")

另一个选项是使用替换。但是你必须为每个实例多次调用它。那会很长而且很麻烦。这是解决问题的最短 sn-p

【讨论】:

猜你喜欢
  • 2010-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-25
  • 2011-01-18
  • 2012-05-08
  • 2018-06-20
  • 2011-08-28
相关资源
最近更新 更多