如何在js中用正向替换反斜杠

时间:2019-06-28 15:27:26

标签: javascript regex

我正在尝试用下面的代码将正斜杠替换为反向,但是结果与预期的不同,在这种情况下,replace的第二个参数是什么?

var path = 'C:\Users\abc\AppData\Local\Programs\Python\Python37\python.exe';
path.replace(/\\/g, "/");
console.log(path)

结果

  

“ C:UsersabcAppDataLocalProgramsPythonPython37python.exe”

2 个答案:

答案 0 :(得分:6)

您的正则表达式很好,但变量声明需要双反斜杠,因为单个反斜杠被解释为转义符:

var path = 'C:\\Users\\abc\\AppData\\Local\\Programs\\Python\\Python37\\python.exe';
path = path.replace(/\\/g, "/");

console.log(path);
//=> C:/Users/abc/AppData/Local/Programs/Python/Python37/python.exe


如果您想避免在分配中使用\\,则可以使用String.raw

var path = String.raw`C:\Users\abc\AppData\Local\Programs\Python\Python37\python.exe`;

答案 1 :(得分:-4)

path.replace(/ \ 134 / g,“ /”);

作为正则表达式。 \ 134是反斜杠的八进制表示