需要 JavaScript 中的方法来提取文件名和扩展名。
例子:
/vagrant/modules/americabuy/tranzilaNotifications/class/../../../a_tranzila/log/tranzila_2018-01-09_08-58-47.json
返回数组: ["tranzila_2018-01-09_08-58-47","json"]
在 Node.js 中
var path = require('path');
function getFilenameAndExtension(pathfilename){
return [path.parse(pathfilename).name, path.parse(pathfilename).ext];
}
Run Code Online (Sandbox Code Playgroud)
在 JavaScript 中
function getFilenameAndExtension(pathfilename){
var filenameextension = pathfilename.replace(/^.*[\\\/]/, '');
var filename = filenameextension.substring(0, filenameextension.lastIndexOf('.'));
var ext = filenameextension.split('.').pop();
return [filename, ext];
}
Run Code Online (Sandbox Code Playgroud)
结果
getFilenameAndExtension("/vagrant/modules/americabuy/tranzilaNotifications/class/../../../a_tranzila/log/tranzila_2018-01-09_08-58-47.json");
//Result -> ["tranzila_2018-01-09_08-58-47", "json"]
Run Code Online (Sandbox Code Playgroud)
如果文件名有多个“.”,它也能工作。例如:
getFilenameAndExtension("../log/tranzila.2018-01-09.08-58-47.json");
// Result: ["tranzila.2018-01-09.08-58-47", "json"]
Run Code Online (Sandbox Code Playgroud)
您可以split()结合使用该函数来pop()获取文件全名(名称+扩展名)并使用以下命令检测文件名和扩展名之间的分隔lastIndexOf():
var str = '/vagrant/modules/americabuy/tranzilaNotifications/class/../../../a_tranzila/log/tranzila_2018-01-09_08-58-47.json';
function fileNameAndExt(str){
var file = str.split('/').pop();
return [file.substr(0,file.lastIndexOf('.')),file.substr(file.lastIndexOf('.')+1,file.length)]
}
console.log(fileNameAndExt(str));Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7789 次 |
| 最近记录: |