Yas*_*kor 0 javascript replace path
我想在 JavaScript 中用“/”替换“\”。我努力了:
link = '\path\path2\';
link.replace("\\","/");
Run Code Online (Sandbox Code Playgroud)
但这不起作用。我这样做错了吗?如果是,正确的方法是什么?
string.replace() 返回一个字符串。字符串无法更改,因此它不会就地更新字符串。
返回值
一个新字符串,其中模式的部分或全部匹配项被替换项替换。
您需要将替换的返回值重新分配给您的link变量。
var link = '\path\path2\';
link = link.replace('\\', '/');
Run Code Online (Sandbox Code Playgroud)
此外,当您使用字符串作为匹配模式时,该replace()函数将仅替换您尝试替换的字符的第一次出现。如果要替换所有出现的地方,则需要使用正则表达式(regex)。
link = link.replace(/\\/g, '/');
Run Code Online (Sandbox Code Playgroud)
这/ ... /是在 Javascript 中封装正则表达式的一种特殊方式。is\\是转义的反斜杠。最后,g末尾的 表示“全局”,因此替换会将所有出现的替换\为/。这是一个工作示例。
var link = '\path\path2\';
link = link.replace('\\', '/');
Run Code Online (Sandbox Code Playgroud)
大约 2020 年String.replaceAll()推出,它与上面的正则表达式执行相同的操作,但使用普通字符串文字。
link = link.replaceAll('\\', '/');
console.log(link);
Run Code Online (Sandbox Code Playgroud)