[英]Javascript get file name and type from path as string
我有一個文件拖放系統,它將文件的整個路徑作為字符串C:\\Users\\alexr\\Desktop\\filename.type
。 我可以刪除主目錄,所以我只剩下Desktop\\filename.type
。 如何將文件( Desktop
)的path
與變量path
和文件名和類型 ( filename.type
) 分隔以與變量type
相等。
我想要一個答案是 javascript 或 jQuery(我懷疑是否需要)
編輯
預期結果:
少說我有以下路徑Desktop\\Folder\\file.txt
我想要一個包含Desktop\\Folder
的變量path
和一個包含file.txt
的變量file
希望這能澄清事情。
您需要拆分文件路徑,例如,
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("\\\\"));
您可以只使用 string substring
來獲取斜杠的最后一個索引(因為這是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));
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
來保留正斜杠,你可能不需要這個
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.