gpt4 book ai didi

java - 使用正则表达式获取 url 的最后一部分

转载 作者:行者123 更新时间:2023-12-02 09:23:17 29 4
gpt4 key购买 nike

如何使用正则表达式获取 URL 的最后一部分,这是我的 URL,我想要最后一个正斜杠和 # 之间的段

http://mycompany.com/test/id/1234#this

所以我只想得到1234

我有以下内容,但没有删除“#this”

".*/(.*)(#|$)",

我在索引数据时需要这个,所以不想使用 URL 类。

最佳答案

只需使用URI:

final URI uri = URI.create(yourInput);
final String path = uri.getPath();
path.substring(path.lastIndexOf('/') + 1); // will return what you want

还将处理带有查询字符串等的 URI。无论如何,当必须从 URL( URI)中提取任何部分时,使用正则表达式不是您想要的: URI 可以以低得多的成本为您处理这一切 - 因为它有一个专用的解析器。

演示代码还使用 Guava 的 Optional 来检测 URI 没有路径组件的情况:

public static void main(final String... args) {
final String url = "http://mycompany.com/test/id/1234#this";
final URI uri = URI.create(url);
final String path = Optional.fromNullable(uri.getPath()).or("/");
System.out.println(path.substring(path.lastIndexOf('/') + 1));
}

关于java - 使用正则表达式获取 url 的最后一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17838786/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com