【问题标题】:How get number between two words in a string?如何获取字符串中两个单词之间的数字?
【发布时间】:2013-06-13 01:24:15
【问题描述】:

我有一个如下的字符串模式。

sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/

我想获取“order_id”和“key”文本之间的数字,这个数字可以是任意长度。 我如何找到这两个词之间的数字?

这个数字“155”是动态的。

【问题讨论】:

  • 如果是固定顺序,则按子串打断
  • URL- find ascii 您可以通过检查 ascii 并从字符串中拆分数字来导出代码

标签: javascript jquery


【解决方案1】:

使用正则表达式:

var num = +( /order_id\/(\d+)\//.exec( str ) || '' )[ 1 ]

|| '' 是在没有匹配的情况下。另外,如果您特别想检查key,只需将其添加到末尾(在末尾的两个// 之间)

【讨论】:

    【解决方案2】:

    试试 split 这个

    var url = "sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/"
    var stuff = url.split('/');
    var order_id = stuff['3'];    //since segment 4 will be the order id
    alert("Order id is "+ order_id);
    

    您也可以使用此方法获取各个 url 段....

    【讨论】:

      【解决方案3】:

      试试http://jsfiddle.net/hSHkE/

       <div class="test">sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/</div>
      
      
      var test=  $('.test').html().split('/')[3];
          alert(test);
      

      【讨论】:

        【解决方案4】:

        给你:

        var str="sales_order/view/order_id/155/key/0ee9098a18ccbca0879bfa93355fa1c7/";
        var n=str.indexOf("order_id/");
        var m=str.indexOf("/key");
        
        alert(str.substring(n + ("order_id/").length,m));
        

        Live Demo: JSFiddle

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-12-12
          • 2012-04-13
          • 2012-09-17
          • 1970-01-01
          • 2017-01-07
          • 2018-09-26
          相关资源
          最近更新 更多