![](/img/trans.png)
[英]How can I extract the route name (path) on express nodejs (during the call, from the req)
[英]How can I extract the filename from a path?
我要從中提取文件名的路徑采用以下形式:
C:\Folder1\Folder2\Folder3\Folder4\Folder5\x.png
這應該給x(我不需要擴展名)。 該文件始終是PNG文件。 x可以是1、2、3或4位數字,但不能包含任何其他字符(只能是數字)。
我嘗試了一種“手動”方法,該方法效果很好。
function getId(x) {
x = x.slice(0,-4);
var str = "";
var flag = 0;
for(var i = x.length - 1; i >= 0; i--) {
if(!isNaN(x[i])) {
str = x[i] + str;
flag = 1;
} else if(flag == 1) {
break;
}
}
console.log(str);
}
有沒有不使用庫的更簡單方法?
您可以在捕獲組中將一個或多個數字匹配。 然后使用否定的字符類將一個點而不是反斜杠匹配一次或多次,並聲明字符串的結尾。
const regex = /(\\d+)\\.[^\\\\]+$/; const str = "C:\\\\Folder1\\\\Folder2\\\\Folder3\\\\Folder4\\\\Folder5\\\\1.png"; console.log(str.match(regex)[1]);
您可以使用split()
和pop()
獲得不帶擴展名的文件名:
var file = 'C:\\\\Folder1\\\\Folder2\\\\Folder3\\\\Folder4\\\\Folder5\\\\x.png'; var fileName = file.split(/\\\\/).pop(); fileName = fileName.split('.')[0]; console.log(fileName);
不是最好的方法,但是很簡單:
const str = 'C:\\Folder1\\Folder2\\Folder3\\Folder4\\Folder5\\t.png';
const getId = path => path.split('\\').pop().split('.')[0];
console.log(getId(str));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.