如题,:
/Upload/Image/f62488ceebe5442ea7454312ae4676eb.jpg
这段字符串 我怎么只获取图片的名字呢?(不带后缀的)?
如题,:
/Upload/Image/f62488ceebe5442ea7454312ae4676eb.jpg
这段字符串 我怎么只获取图片的名字呢?(不带后缀的)?
var a = /^\/Upload\/Image\/(\S+)\.jpg$/
a.exec('/Upload/Image/f62488ceebe5442ea7454312ae4676eb.jpg')[1]
如果形式固定,直接取连续的,不包括 /
和 .
的 32 个字符就可以了。
(/([^\/\.]{32})/).test('/Upload/Image/f62488ceebe5442ea7454312ae4676eb.jpg') && (/([^\/\.]{32})/).exec('/Upload/Image/f62488ceebe5442ea7454312ae4676eb.jpg')[0]
形式不固定,就单独写个函数,按楼上的思路,先按 /
切,再按 .
切:
function getFileBaseName(s) {
var p = s.split('/');
return p[p.length - 1].split('.', 1)[0];
}
var getFileBaseName = function(path){
var regx = /[^\/]+(?=\.[^\.\/]+$)/i;
return (path.match(regx)||[])[0];
}
var baseName = getFileBaseName('/Upload/Image/f62488ceebe5442ea7454312ae4676eb.jpg');
console.log(baseName);
function getImageName( path ){
var tempArr = [];
if ( typeof path !== 'string' || path !== 'undefined' ) {
return ;
}
tempArr = path.split('/');
return tempArr[tempArr.length];
}
var str = "/Upload/Image/f62488ceebe5442ea7454312ae4676eb.jpg"
var i = str.lastIndexOf('/'), j = str.lastIndexOf('.');
var s = str.slice(i+1, j);
console.log(s)
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
4 回答2.8k 阅读✓ 已解决
"/Upload/Image/f62488ceebe5442ea7454312ae4676eb.jpg".split('/')[3].split('.')[0]