首页 > 解决方案 > 在 javascript 中用 \\n 切换 \n

问题描述

所以我有一个字符串:

var s = "foo\nbar\nbob";

我希望字符串变为:

"foo\\nbar\\nbob"

我怎样才能\n用 a替换每个\\n

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

标签: javascriptstring

解决方案


一个简单的.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
);


推荐阅读