Javascript 从图像名称中删除字符
我正在尝试删除图像名称的一部分以创建缩略图 图像名称是动态创建的,即HG57JWY_0.jpg、HG57JWY_1.jpg、HG57JWY_2.jpg。我使用以下方法成功删除了.jpg:Javascript 从图像名称中删除字符,javascript,jquery,Javascript,Jquery,我正在尝试删除图像名称的一部分以创建缩略图 图像名称是动态创建的,即HG57JWY_0.jpg、HG57JWY_1.jpg、HG57JWY_2.jpg。我使用以下方法成功删除了.jpg: var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1]; 我的问题是我不知道如何删除“\u 0” 并添加了他的.split(“”)[0] 这将获取整个图像src iehttp://mydomain/imageFo
var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1];
我的问题是我不知道如何删除“\u 0”
并添加了他的.split(“”)[0]
这将获取整个图像src iehttp://mydomain/imageFolder/image_1.jpg
,只返回“图像”
然后我就可以使用我想要的任何路径
return '<img src="sample-img/'+ imageName +'_' + [i -+ 1] + '.jpg">';
返回“”;
并根据我的需要更改了示例img/。使用
更新
您可以在比赛中使用split
:
var imageName = $('#slider1 li img').prop('src')
.match(/(\w*)\.\w{3,4}$/)[1]
.split("_")[0];
或者,修改正则表达式(如的答案中所示)以排除模式\u number
的匹配:
var imageName = $('#slider1 li img').prop('src').match(/(\w+)_\d+\.\w{3,4}$/)[1]
使用
更新
您可以在比赛中使用split
:
var imageName = $('#slider1 li img').prop('src')
.match(/(\w*)\.\w{3,4}$/)[1]
.split("_")[0];
或者,修改正则表达式(如的答案中所示)以排除模式\u number
的匹配:
var imageName = $('#slider1 li img').prop('src').match(/(\w+)_\d+\.\w{3,4}$/)[1]
如果保证图像名称包含“_x”,请尝试:
var imageName = $('#slider1 li img').prop('src').match(/(\w*)_\d+\.\w{3,4}$/)[1];
如果保证图像名称包含“_x”,请尝试:
var imageName = $('#slider1 li img').prop('src').match(/(\w*)_\d+\.\w{3,4}$/)[1];
这是可行的,但不完全可行,我想是因为我忘了提到大图像和拇指在不同的文件夹中。已编辑。@cac,抱歉,但这有什么关系?当我使用您的代码时,它会返回整个图像路径。我只需要带_0等的图像名称。算出了,伙计,我在我的原始代码末尾使用了你的.split(“”)[0]。非常感谢。@cac,好吧,这确实是一种方法。我想这并不完全有效,因为我忘了提到大图和大拇指在不同的文件夹中。已编辑。@cac,抱歉,但这有什么关系?当我使用您的代码时,它会返回整个图像路径。我只需要带_0等的图像名称。算出了,伙计,我在我的原始代码末尾使用了你的.split(“”)[0]。非常感谢。@cac,嗯,这当然是一种方法。基本上,图像名称字符串的格式不是您最初相信的格式。基本上,图像名称字符串的格式不是您最初相信的格式
var imageName = $('#slider1 li img').prop('src').match(/(\w*)_\d+\.\w{3,4}$/)[1];
$('#slider1 li img').prop('src', function(i, value) {
return value.substr(0, value.indexOf('_'));
});
var imageName = $('#slider1 li img').prop('src').match(/(\w*)(_[0-9]+)\.\w{3,4}$/)[1];