javascript - 将所有 \ 替换为 \\ - Javascript
问题描述
我在将字符串中出现的所有斜杠替换为双斜杠时遇到问题。现在这个问题正在阻止我打开文件,因此我需要“转义”路径中的所有斜杠。
路径看起来像这样:
C:\Folder\tmp\c235adf5b8c79ee61910a0c04abf9bc1
我想将所有斜杠替换为双斜杠,这样最终它看起来像这样:
C:\\Folder\\tmp\\c235adf5b8c79ee61910a0c04abf9bc1
我已经尝试过使用这个解决方案,但它对我不起作用:
str.replace(/\\/g, "\\\\");
上述解决方案的输出产生以下字符串:
C:Folder mpc235adf5b8c79ee61910a0c04abf9bc1
编辑这是我试图解决问题的实际代码:
exports.register = function (req, res) {
let user = new db.User();
req.files.forEach(function(file) {
const uploadDir = 'upload/' + user._id + '/' + file.name;
const filePath = path.resolve('./' + file.path);
console.log(filePath);
ftp.put(filePath, uploadDir, function(err) {
if(err) return console.log(err);
console.log('Uploaded file: ' + file.name);
});
});
};
我省略了不相关的部分
解决方案
该\
字符是 JavaScript 字符串文字中的转义字符。它不存在于字符串中。
您不能使用正则表达式来解决您的问题,因为它是您需要更改的源代码,而不是字符串本身中的数据。
当你得到字符串时,\
字符将被解析并(例如)\t
变成一个选项卡。此时操作数据以获取实际目录路径为时已晚。
推荐阅读
- android - 将 R307 指纹扫描仪与 Android 集成
- python - 如何提高pandas中concat的速度
- android - 清单合并失败:属性 application@appComponentFactory
- java - Scala 只接受 List 中的 String 或 Int 通用案例类
- ruby-on-rails - rails迁移设置布尔字段不起作用
- jsf - request.getSession(true) 始终生成一个空会话
- python - 熊猫数据框未正确创建
- mongodb - 如何从猫鼬中的引用模型中获取字段?
- java - 比较并获取值后,我的应用程序被强制关闭
- java - 如何使用 3 个更改值循环此语句以设置 40 个文本字段的 setText?