如何获取 URL 的最后两部分。例如,如果一个 URL 是
http://stackoverflow/java/regex
我想得到以下
java/regex
正则表达式“。/ (。)”会给我最后一段,但我很难得到最后两部分。
当 Java 有URI
!
final URI uri = URI.create("http://stackoverflow/java/regex");
uri.getPath().subString(1); // returns "java/regex"
你可以试试这个:
String url = "http://stackoverflow/java/regex";
Pattern pattern = Pattern.compile(".+/(.+/.+)$");
Pattern otherPattern = Pattern.compile(".+/(.+)/.+$");
Matcher matcher = pattern.matcher(url);
if (matcher.find()) {
System.out.println(matcher.group(1));
}
matcher = otherPattern.matcher(url);
if (matcher.find()) {
System.out.println(matcher.group(1));
}
输出:
java/regex
java
您可以使用java.net.URL
'getPath()
方法
URL url = new URL("http://stackoverflow/java/regex");
System.out.println(url.getPath());
简单的!
如果你有绝对网址:
Pattern p = Pattern.compile("http://(^[/]+)/([^/]+)/([^/]+);
Matcher m = p.matcher(yourURL);
if (m.find()) {
path1 = m.group(2);
path2 = m.group(3);
}
希望这可以帮助!
为什么不将您的 URL 转换为 URI 并调用方法 getPath() ?