javascript - 单反斜杠到双反斜杠转换
问题描述
我希望将所有单反斜杠转换为双反斜杠
"C:\Users\MyName\ringtone.mp3"
-->"C:\\Users\\MyName\\ringtone.mp3"
但由于某种原因它返回"C:UsersMyNameingtone.mp3"
到目前为止,我已经尝试了 escape() 函数和 encodeURI() 函数,但它们也不起作用。部分字符串来自 nodejs OS 模块,它只在 windows 上返回一个反斜杠(homedir() 函数)。这是我到目前为止的功能
function normalize(path: string): string {
return path.normalize().replace(/\\/g, '\\');
}
提前致谢
解决方案
这应该有效:
var original = 'C:\\Users\\MyName\\ringtone.mp3';
var replaced = original.normalize().replace(/\\/g, '\\\\');
console.log('Original: ' + original);
console.log('Replaced: ' + replaced);
从我看到你有2个问题:
首先,您似乎正在像这样初始化您的字符串:
var original = 'C:\Users\MyName\ringtone.mp3'
这将使您的实际字符串值C:UsersMyNameingtone.mp3
,因为\
javascript 中的字符表示转义字符。
其次,是因为该\
字符是转义字符,所以'\\'
在您的替换函数中只是想用一个反斜杠替换匹配的模式。
推荐阅读
- html - Icons not being displayed in Angular Material List
- c++ - 隐式定义的成员函数的生成是否为 C++ 中类层次结构中的每个类独立处理?
- php - PHP - 加载不同内容的多级用户系统
- c# - 如何从资产文件夹 Xamarin 中检索数据库
- c++ - Failing to parse different math operators
- python - CNN 语义分割网络 (UNET) 在用图像进行测试时表现不佳
- excel - 数组用于循环抛出对象变量或未设置块变量
- html - Href链接问题
- mysql - 来自 mysql 数据库的数据透视表 MySQL
- javascript - Javascript 使用“多个”属性附加输入