3 回答
TA贡献1853条经验 获得超6个赞
const str = String.raw`Desktop\Folder\file.txt`;
const parts = str.split(`\\`);
const file = parts.pop();
const path = parts.slice(0).join(`\\`);
console.log(file)
console.log(path)
注意:我用来String.raw
保留正斜杠,你可能不需要这个
TA贡献1820条经验 获得超9个赞
您可以使用 stringsubstring来获取斜杠的最后一个索引(因为这是一个很好的指示器filename.type。
这 \\ 只是为了逃避 \
例子:
function splitPath(path) {
return {
path: path,
file: path.substring(path.lastIndexOf('\\') + 1, path.length)
};
}
const path = 'C:\\Users\\alexr\\Desktop\\filename.type';
console.log(splitPath(path));
TA贡献1820条经验 获得超2个赞
您需要像这样分割文件路径,
JSON.stringify(str).split("\\");
这里不需要改变你的输入,如果你想分割带有反斜杠的字符串,那么使用,
.split("\\")
片段如下,
const str = "Desktop\filename.type";
const res = JSON.stringify(str).split("\\");
const result = JSON.parse(res).split(',');
const path = result[0];
const file = result[1];
console.log(path);
console.log(file);
编辑:
好吧,这就是我使用 的原因JSON.stringify(),因为字符串有反斜杠,它会忽略后面的下一个字符backslash,因此要获取实际的字符串,这里我使用了,JSON.stringify..您可以在下面的控制台中找到两者之间的区别。
const str = "Desktop\filename.type";
console.log(str);
console.log(JSON.stringify(str))
console.log(JSON.stringify(str));
当你分割实际的字符串时,
.split("\\"),
结果将是单个字符串数组..
const str = "Desktop\filename.type";
console.log(str.split("\\"));
- 3 回答
- 0 关注
- 152 浏览
添加回答
举报