[英]Process folder path and handle trailing slash in a single line?
此代碼接受path/to/folder
或path/to/folder/
(注意尾部斜杠)並提取字符串中最后一個文件夾的名稱,即:
path = 'path/to/folder'.split('/');
folder = path.pop() || path.pop(); // taking care of trailing slash
// folder == 'folder'
我很好奇,是否有可能把它變成一個單行程? 我會很感激正則表達式和非正則表達式的答案:)
作為旁注,我剛剛意識到我的代碼不知道如何處理多個尾部斜杠(如拼寫錯誤) - 所以如果你能考慮到這一點,我會很感激。
編輯:我真的希望看到一個非正則表達式的答案
我想這就是你想要的:
path = 'path/to/folder';
folder = path.match(/\/([^\/]+)[\/]*$/)[1]
應該使用或不使用斜杠和兩個斜杠。
在現代瀏覽器中,您可以執行以下操作:
folder = (path + '/').split(/\/+|\\+/).slice(0, path.split(/\/+|\\+/).indexOf(''));
代碼也處理反斜杠,甚至混合斜杠。 一個簡單的小提琴 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.