我想知道如何在nodejs中对特殊字符进行转义。我有一个字符串$what$ever$,在调用python脚本之前,我需要像$what$ever$那样对它进行转义。我试过querystring npm包,但它做了别的事情。
wfsdck301#
您可以在不使用任何模块的情况下执行此操作:
str.replace(/\\/g, "\\\\") .replace(/\$/g, "\\$") .replace(/'/g, "\\'") .replace(/"/g, "\\\"");
简短版本:
str.replace(/[\\$'"]/g, "\\$&")
(感谢评论中的Mike Samuel)
q8l4jmvw2#
好的,这里有一个快速的。不要指望它是最有效的东西在那里,但它做的工作。
"$what$ever$".split("$").join("\\$")
另一个选择是使用replace。但是这样你就必须为每个示例调用它多次。这将是很长很麻烦的。这是完成这个任务的最短代码片段
polhcujo3#
遗憾的是,在字符串中,您无法替换反冲。例如:让eor ='\r\n';'eor'的长度将仅为2,即#0D#0A。字符串中没有存储单个反冲。您可以使用:JSON.字符串化(eor)〉〉"\r\n"或:常量效用=要求("效用");检查(eor)〉〉"\r\n"。
3条答案
按热度按时间wfsdck301#
您可以在不使用任何模块的情况下执行此操作:
简短版本:
(感谢评论中的Mike Samuel)
q8l4jmvw2#
好的,这里有一个快速的。不要指望它是最有效的东西在那里,但它做的工作。
另一个选择是使用replace。但是这样你就必须为每个示例调用它多次。这将是很长很麻烦的。这是完成这个任务的最短代码片段
polhcujo3#
遗憾的是,在字符串中,您无法替换反冲。例如:让eor ='\r\n';
'eor'的长度将仅为2,即#0D#0A。字符串中没有存储单个反冲。
您可以使用:JSON.字符串化(eor)〉〉"\r\n"或:常量效用=要求("效用");检查(eor)〉〉"\r\n"。