【问题标题】:Get path variable from URL using RegEx使用 RegEx 从 URL 获取路径变量
【发布时间】:2019-07-22 13:58:50
【问题描述】:

如何从以下 URL 获取 customerid 路径变量:

/customers/{customerid}/agreements/{agreementid}

customerid 路径变量的长度可以不同,所以我想要 /customers/ 和 /agreements 之间的所有内容...

我已经在网上搜索了一个解决方案,并尝试自己构建一些 RegEx,但到目前为止没有成功。

【问题讨论】:

  • 您好,欢迎来到 SO。你都尝试了些什么?请edit您的问题并添加所有相关代码,告诉我们什么不起作用,为什么,预期的输出是什么以及发生了什么。如果您遇到任何错误,请不要忘记包含完整的堆栈跟踪。

标签: java regex url


【解决方案1】:

如果您知道 URL 中元素的顺序是固定的(即在 /customers 段之前没有任何内容,例如站点/语言前缀 - /uk),您可以只 split URL 并抓取结果数组中的第二个元素。像这样:

var urlParts = url.split('/');
var customerId = urlParts[1]; // Arrays positions start at 0.

或者更优雅:

var customerId = url.split('/')[1];

如果您不确定 URL 结构,但知道客户 ID 总是紧跟在 /customers 段之后,您可以使用正则表达式来提取它。

更新:我刚刚意识到您指的是 Java,但上述解决方案仍然有效。这里有一个关于 Java 中 URL 拆分的类似问题:In java, what's the best way to read a url and split it into its parts?

【讨论】:

    猜你喜欢
    • 2021-03-31
    • 2016-08-03
    • 2021-12-07
    • 2011-02-19
    • 1970-01-01
    • 2014-09-15
    • 1970-01-01
    • 2013-06-19
    相关资源
    最近更新 更多