我正在尝试用下面的代码将正斜杠替换为反斜杠,但结果不如预期,在这种情况下,replace
的预期第二个参数是什么?
var path = 'C:\Users\abc\AppData\Local\Programs\Python\Python37\python.exe';
path.replace(/\\/g, "/");
console.log(path)
结果:
"C:UsersabcAppDataLocalProgramsPythonPython37python.exe"
您的正则表达式很好,但变量声明需要双反斜杠,因为单反斜杠被解释为转义字符:
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`;