【问题标题】:Remove character from image name从图像名称中删除字符
【发布时间】:2012-09-19 19:39:27
【问题描述】:

我正在尝试删除图像名称的一部分以创建缩略图。

图片名称是动态创建的,即HG57JWY_0.jpg、HG57JWY_1.jpg、HG57JWY_2.jpg。我设法删除了 .jpg 使用:

var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1];

我的问题是我不知道如何删除“_0”

return '<img src="sample-img/'+ imageName +'_' + [i -+ 1] + '.jpg">';

这会生成 HG57JWY_0_0.jpg

有什么想法吗?

编辑: 忘了提到大图像和拇指在不同的文件夹中。 所以我用 src = http://mydomain.com/sample-img/imagename.jpg

在一个占位符中显示大图像

然后我将拇指放在一个带有 src = http://mydomain.com/sample-img-thumb/imagename.jpg 的列表中

编辑 2:

感谢 Alexander,我使用了我的原始代码

 var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1];

并添加了他的 .split("_")[0]

var imageName = $('#slider1 li img').prop('src').match(/(\w*)\.\w{3,4}$/)[1].split("_")[0];

这将获取整个图像 src 即http://mydomain/imageFolder/image_1.jpg,并仅返回“图像”。

然后我可以使用我想要的任何路径

return '<img src="sample-img/'+ imageName +'_' + [i -+ 1] + '.jpg">';

只是用我需要的东西改变了 sample-img/。

【问题讨论】:

  • 基本上,图片名称的字符串格式不是你最初认为的

标签: javascript jquery


【解决方案1】:

使用split

var imageName = $('#slider1 li img').prop('src').split("_")[0];

更新

您可以在比赛中使用split

var imageName = $('#slider1 li img').prop('src')
                                    .match(/(\w*)\.\w{3,4}$/)[1]
                                    .split("_")[0];

或者,修改你的正则表达式(如Dave Rager的答案所示)以排除模式_number的匹配:

var imageName = $('#slider1 li img').prop('src').match(/(\w+)_\d+\.\w{3,4}$/)[1]

【讨论】:

  • 这可行但不完全,我想是因为我忘了提到大图像和拇指位于不同的文件夹中。已编辑。
  • @cac,对不起,但这有什么关系?
  • 当我使用你的代码时,它会返回整个图像路径。我只需要没有 _0 等的图像名称。
  • 想通了,伙计,我在原始代码的末尾使用了您的 .split("_")[0]。非常感谢。
  • @cac,好吧,这当然是一种方法
【解决方案2】:

如果图像名称保证包含“_x”,则尝试:

var imageName = $('#slider1 li img').prop('src').match(/(\w*)_\d+\.\w{3,4}$/)[1];

【讨论】:

    【解决方案3】:
    $('#slider1 li img').prop('src', function(i, value) {
        return value.substr(0, value.indexOf('_'));
    });
    

    【讨论】:

      【解决方案4】:
      var imageName = $('#slider1 li img').prop('src').match(/(\w*)(_[0-9]+)\.\w{3,4}$/)[1];
      

      【讨论】:

        猜你喜欢
        • 2012-06-28
        • 2012-05-13
        • 1970-01-01
        • 1970-01-01
        • 2021-09-13
        • 2021-12-03
        • 2021-03-08
        • 1970-01-01
        • 2021-09-11
        相关资源
        最近更新 更多