如何使用JavaScript替换字符串中的反斜杠?

时间:2018-12-18 10:21:02

标签: javascript string parsing replace backslash

我正在尝试解析这样的字符串

var temp = JSON.parse('{"FHPosition":"consultant","FDesc":"apr4","FHId":"i:0#.w|spdev\gkr"}'.replace("\\","\\\\"))
console.log(temp.FHId)

//expected output: i:0#.w|spdev\gkr
//actual output: i:0#.w|spdevgkr

但是当我尝试替换反斜杠或使用字符串反斜杠执行任何操作时,该字符串就会消失。 有什么方法可以替换反斜杠而不会消失?

1 个答案:

答案 0 :(得分:0)

this answer所示,除非反斜杠后面的字符是有效的转义序列(可以在here中找到一个列表),否则它将从字符串中完全删除反斜杠。我相信您首先需要在.replace()中使用正则表达式,其次您应该在解析语句中对数据进行字符串化,然后再替换它。尝试使用以下代码:

var temp = JSON.parse(JSON.stringify('{"FHPosition":"consultant","FDesc":"apr4","FHId":"i:0#.w|spdev\gkr"}').replace("\\","\\\\"))
console.log(temp.FHId);

希望这会有所帮助!