看代码:
var file1 = "50.xsl";
var file2 = "30.doc";
getFileExtension(file1); //returns xsl
getFileExtension(file2); //returns doc
function getFileExtension(filename) {
/*TODO*/
}
看代码:
var file1 = "50.xsl";
var file2 = "30.doc";
getFileExtension(file1); //returns xsl
getFileExtension(file2); //returns doc
function getFileExtension(filename) {
/*TODO*/
}
当前回答
fetchFileExtention(fileName) {
return fileName.slice((fileName.lastIndexOf(".") - 1 >>> 0) + 2);
}
其他回答
我知道这是一个老问题,但我写了这个函数的测试提取文件扩展名,她可用的NPM, Yarn, Bit。 也许它会帮助别人。 https://bit.dev/joshk/jotils/get-file-extension
function getFileExtension(path: string): string {
var regexp = /\.([0-9a-z]+)(?:[\?#]|$)/i
var extension = path.match(regexp)
return extension && extension[1]
}
您可以在这里看到我编写的测试。
还有一个使用ES6解构的简单方法:
Const path = 'hello.world.txt' const[扩展,…nameParts] = path.split('.').reverse(); console.log(扩展:,扩展);
在node.js中,这可以通过以下代码实现:
var file1 ="50.xsl";
var path = require('path');
console.log(path.parse(file1).name);
简单的方法获得文件名甚至多个点在名称
var filename = "my.filehere.txt";
file_name = filename.replace('.'+filename.split('.').pop(),'');
console.log("Filename =>"+file_name);
输出:my.filehere
extension = filename.split('.').pop();
console.log("Extension =>"+extension);
输出:txt
试试这是一行代码
var file = "hello.txt";
var ext = (function(file, lio) {
return lio === -1 ? undefined : file.substring(lio+1);
})(file, file.lastIndexOf("."));
// hello.txt -> txt
// hello.dolly.txt -> txt
// hello -> undefined
// .hello -> hello