我目前在var imgSrc
var是一个完整的网址,例如http://mywebsite.co.uk/fyp/login-register/images/avatars/16.png
我想只抓取最后一个斜杠的部分,所以只存储16.png
,然后删除最后一个.png
我尝试使用trim()
函数但不确定如何使用\
作为修剪的分隔符。
一旦我完成了这个,我就需要取最后3个字符,所以只返回数字。
E.g我需要从
开始http://www.myurl.com/images/something/16.png
一直到:
16
我想我的最后一部分由slice
覆盖:
var srcID = imgSrc.slice(0,3);
网址长度并不总是相同,因此需要依赖于使用\
而不是使用特定的硬编码
答案 0 :(得分:1)
答案 1 :(得分:1)
你可以分开'数据:
var url = 'http://mywebsite.co.uk/fyp/login-register/images/avatars/16.png';
var arr = url.split('/');
var last = arr.length - 1;
var pic = arr[last].split('.');
//--- image name in now in pic[0
答案 2 :(得分:1)
使用正则表达式:
var str ="http://www.myurl.com/images/something/16.png";
var found = str.match(/\d+/);
console.log(found[0]);
<强> jsFiddle example 强>
答案 3 :(得分:0)
懒人的字符串操作:
使用&#34; split&#34;将字符串分解为数组的方法,以任何字符结束:
var urlPieces = imgSrc.split( "/" ),
lastUrlPiece = urlPieces[ urlPieces.length - 1 ],
filenamePieces = lastUrlPiece.split( "." ),
filenameSansExtension = filenamePieces[ 0 ];
:)
答案 4 :(得分:0)
要获得最后一个“16.png”,您可以尝试使用
var last = imgSrc.substr(imgSrc.lastIndexOf('/') + 1);
答案 5 :(得分:0)
var srcID = imgSrc.substr(imgSrc.lastIndexOf('/')).match(/[\w\d]+/)[0];
srcID
将等于16
。
您希望避免使用slice()
方法,因为只有在图片的文件名长度为两个字符时才会有效。