Javascript - 替换字符串文字中的转义字符

标签 javascript string replace escaping literals

我正在尝试替换 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/

相关文章:

javascript - 为什么用 webpack 和 babel 编译后会得到 function is not defined?

c# - Web 服务 (.net) 返回 html - 限制?

python - 如何使用 Python 将文本文件中的 Unicode 字符替换为土耳其语字符

java - 将数字单词替换为数字

javascript - $dirty 上的 Angular 变化类

javascript - 如何仅使用 javascript 确定文档的 mime 类型?

javascript - 双击子菜单设备

c - 如何将存储在数组中的字符串与 c 中完整库中的函数名称进行比较

java - 为什么 Jcreator 显示 iLlegal start of expression?

excel - 在 PowerPoint 中查找文本并替换为 Excel 单元格中的文本