我正在尝试替换 Javascript 字符串文字中的反斜杠(转义)字符。
我需要用双反斜杠替换它,以便我可以进行重定向:
var newpath = 'file:///C:\funstuff\buildtools\viewer.html'.replace(/\\/g,"\\");
window.location = newpath;
不过,好像没有结果。
在 Javascript 处理反斜杠之前,我没有正确转义反斜杠的选项。
如何将 (\) 替换为 (\\) 以使 Javascript 满意?
谢谢, 德里克
最佳答案
如果它是文字,您需要在 Javascript 看到它们之前转义反斜杠;没有办法解决这个问题。
var newpath = 'file:///C:\\funstuff\\buildtools\\viewer.html';
window.location = newpath;
如果 newpath
从其他地方获取它的值,并且确实包含单个反斜杠,则不需要将它们加倍;但是如果出于某种原因你真的想要,请不要忘记在 replace() 调用中转义反斜杠:
newpath.replace(/\\/g,"\\\\");
为什么在 Javascript 处理反斜杠之前,您没有正确转义反斜杠的选项?如果问题是您的 Javascript 源代码是从其他一些本身使用\作为转义字符的脚本语言生成的,只需添加一个转义级别:
var newpath = 'file:///C:\\\\funstuff\\\\buildtools\\\\viewer.html';
关于Javascript - 替换字符串文字中的转义字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1376440/