This question already has answers here:
How do I handle newlines in JSON?
                            
                                (9个答案)
                            
                    
                2年前关闭。
        

    

所以我有一个字符串:

var s = "foo\nbar\nbob";

我希望字符串变为:

"foo\\nbar\\nbob"

如何用\n替换每个\\n

我已经尝试过使用一些for循环,但是我无法弄清楚。

最佳答案

一个简单的.replace将起作用-搜索\n,并替换为\\n



var s = "foo\nbar\nbob";
console.log(
  s.replace(/\n/g, '\\\n')
  //                ^^ double backslash needed to indicate single literal backslash
);





请注意,这会导致“单个反斜杠字符,然后是文字换行符”-实际字符串中的一行中将不会有两个反斜杠。使用String.raw可能会少一些混乱,它会按字面意义解释模板中的每个字符:



var s = "foo\nbar\nbob";
console.log(
s.replace(/\n/g, String.raw`\
`) // template literal contains one backslash, followed by one newline
);

关于javascript - 在JavaScript中用\\n切换\n ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53218239/

10-09 19:55