簡體   English   中英

Javascript從路徑中獲取文件名和類型作為字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM