如何替换节点字符串中的反斜杠替换

How to replace backslashes in node string replace

简单代码,在节点 v.9.30 中,我无法替换所有出现的“\”来获取字符串 "n_fdsan__xsa"。我应该使用不同的方法吗?

s = 'n\fdsan\xsa';
r = s.replace(/\\/g,  "_");
console.log(r);

编辑: 感谢@Quentin 和@Phillip,我意识到'\f' 是不同的字符-换页符,第二个实际上是反斜杠-'\'。

s = 'n\fdsan\xsa';
r = s.replace(/\/g,  "_");
console.log(r); 

//   Displays:
n
 dsan_xsa

问题似乎是存储的字符串是 n\fdsan\xsa,在实例化 js 变量时等同于 n\fdsan\\xsa。记录变量后,您会看到预期的 n\fdsan\xsa.

为了替换斜杠字符的所有实例,您将使用以下内容:

s = "n\fdsan\\xsa";
console.log(s); // Displays 'n\fdsan\xsa'
s = s.replace(/\/g,  "_");
console.log(s); // Displays 'n_fdsan__xsa'