代码之家  ›  专栏  ›  技术社区  ›  albpower

如何获取最后一个/特殊字符后的数字

  •  0
  • albpower  · 技术社区  · 10 年前

    我需要从包含链接的字符串中获取最后一位数字(最后一个数字)。 例如,从下面的链接中,我应该返回数字 51

    http://radio-pendimi.com/website/index.php/artikuj/31-miresjellja-edukata-fetare/51-permbaje-gjuhen-tende
    

    或从以下选项中选择:

    http://radio-pendimi.com/website/index.php/artikuj/30-ilace-per-zemren-rukja/9137-jeta-me-allahun-ka-shije-tjeter, 
    

    数字 9137 应返回

    $.each (path.item,function(key,val){
        //id_temp= val.guid.content.replace(/[^0-9 ]/g, '');
        id=val.guid.content;
    
        var tempDiv = $('<div id="tempDiv">' + val.description + '</div>');
        introImg = tempDiv.find("img:first").css({"width":"100%","border-bottom":"4px solid #cd1d1d"});
        var staticImg = '<img src="images/pendimi-logo.png" style="width:100%;border-bottom:4px solid #cd1d1d;background:#444"/>';
        output+='<div id="lajme">ID = '+id;
        output+= '<p style="height:15px;"><span style="font-size:13px;font-family:Bitter;color:gray;padding-left:7px">Kategoria: ' + val.category + '</span><span style="float:right;font-size:13px;font-family:Bitter;color:gray;margin:3px"></p>';
        output+='<a href="#artikujtFetar-full" onclick="showPostArtikujtFetar('+ id +')" style="text-decoration:none">';
        output+= '<p style="margin:0px">' + $('<div>').append(introImg).html() + '</p>';
        output+='<h3 style="word-wrap:break-word;font-family:Bitter;font-size:16px;color:#444;text-align:center;line-height:30px;">'+ val.title +'</h3>';
        output+='</a>';
        output+='</div>';
        output+='<div style="height:15px;background:rgb(210, 215, 217);"></div>';
        return key<3;
    }); //lexo cdo element 1 nga 1
    $('#shfaqArtikujtFetar').html(output);
    

    PS:我需要使用jQuery或JavaScript。它可以是Regex或函数,只要让它返回我需要的结果即可。

    2 回复  |  直到 10 年前
        1
  •  1
  •   hex494D49    10 年前

    另一种解决方案

    \d+(?!.*\d)
    

    用法

    var s = "http://radio-pendimi.com/website/index.php/artikuj/31-miresjellja-edukata-fetare/51-permbaje-gjuhen-tende";
    var p = /\d+(?!.*\d)/;
    var m = s.match(p);
    console.log(m[0]); // 51
    

    Regex demo | JavaScript demo

        2
  •  1
  •   vks    10 年前
    .*\/(\d+)
    

    这将给出所需的答案。

    请参见演示。

    http://regex101.com/r/cH8vN2/3