【问题标题】:Is possible to get last path of RegExp in URL [duplicate]可以在 URL [重复] 中获取 RegExp 的最后路径
【发布时间】:2017-02-03 10:52:24
【问题描述】:

是否可以在以下字符串中获取 URL 结果中的最后一个值:

http://www.example.com/snippets/rBN6JNO/

我的正则表达式匹配整个字符串

\/.+\/

匹配:

//www.example.com/snippets/rBN6JNO/

我想得到最后一个值:

rBN6JNO

或者我应该使用其他方法吗?

【问题讨论】:

  • 使用“/”分割并访问最后/最后一秒的值
  • 你可以试试(\w+)\/?$

标签: javascript regex


【解决方案1】:

您可以使用/ 拆分您的网址,然后访问拆分后网址的最后一个对象。

尝试以下方法:

var url = "http://www.example.com/snippets/rBN6JNO";
var splitedUrl = url.split('/');   
var lastPath = splitedUrl[splitedUrl.length - 1]; //rBN6JNO

【讨论】:

  • 也许,在拆分之前删除任何尾随 / 是个好主意:url.replace(/\/+$/, '').split('/')
  • 是的,可能是个好主意。这将使splitedUrl[] 更简单。
【解决方案2】:
/([a-z\d]+)(\/*|)$/i

看到“$1”

【讨论】:

  • 你必须检查它是否有参数。 \?+
【解决方案3】:

用javascript试试这个你可以做到的,

var URL_STRING = 'http://www.example.com/snippets/rBN6JNO/'
URL_STRING.split('/').slice(3)

【讨论】:

    【解决方案4】:

    为避免创建数组,您可以仅使用字符串方法执行此操作 - 使用 substr()lastIndexOf()

    s = s.replace(/\/$/,"");
    console.log(s.substr(s.lastIndexOf("/") + 1));
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-24
      • 2017-11-02
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 2020-07-20
      • 1970-01-01
      相关资源
      最近更新 更多