【问题标题】:Get the "filename" in a specific string [duplicate]获取特定字符串中的“文件名”[重复]
【发布时间】:2014-08-03 20:00:26
【问题描述】:
url("http://localhost/garg/public/img/slides/9234385e2911fd07346cae2d78548d20.jpg")

我想获得 9234385e2911fd07346cae2d78548d20.jpg 部分。

我尝试过自己的方式,但它并没有真正奏效。

string.slice(0,-2);
string.slice(0,5);
....

但这不是很有效。不然怎么办?

【问题讨论】:

  • 这里有一个想法:搜索最后一次出现的/ 并抓取后面的任何内容。虽然这当然不适用于任何随机 URL。您可以使用lastIndexOf 进行搜索。
  • string.split("/").pop();

标签: jquery string


【解决方案1】:

使用 lastIndexOf() :查找传递参数的最后一次出现。

Fiddle Demo

str.substr(str.lastIndexOf ("/") + 1);

【讨论】:

    【解决方案2】:

    您可以考虑使用 REGEX 使用这种方法:

    var fullPath = "http://localhost/garg/public/img/slides/9234385e2911fd07346cae2d78548d20.jpg";
    var filename = fullPath.replace(/^.*[\\\/]/, '');
    
    alert (filename);
    

    然而这是一种更简单的方法

     var fullPath = "http://localhost/garg/public/img/slides/9234385e2911fd07346cae2d78548d20.jpg";
     var filename = fullPath​​​​​​​.split('/').pop();
     alert (filename);
    

    【讨论】:

    • +1 第二个例子
    【解决方案3】:

    你可以这样使用它:

    $("input[name='attachment']").change(function() {
          console.log('fileName');
        var fileName = $(this).val().split('\\').pop();
        console.log(fileName);
    });
    

    小提琴:http://jsfiddle.net/nSf7w/157/

    【讨论】:

      【解决方案4】:

      用途:

      var match = "http://localhost/garg/public/img/slides/9234385e2911fd07346cae2d78548d20.jpg".match(/[^/]*$/);
      var filename = match ? match[0] : '';
      

      【讨论】:

        猜你喜欢
        • 2019-02-22
        • 2021-02-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-25
        • 1970-01-01
        相关资源
        最近更新 更多