String url = "http://search.host.com/search-ui/?mq=*%3A*&f=productLine%WS%3A+Globalstar%22%5D&f=product%5B"
我想使用正则表达式从上面的链接中仅提取 search-ui 。我怎样才能以最有效的方式做到这一点。因为我可以使用split方法解析上面的url。但是还有其他方法可以达到这个目的。
String a[] = url.split("/");
所以通过这种方式[3]有搜索-ui。还有其他有效的方法..
任何帮助将不胜感激。
答案 0 :(得分:2)
使用split()
:
urlString.split("/")[3];
或更准确的东西:
urlString.split(".com/")[1].split("/?")[0];
顺便说一句,使用for循环而不是使用split会更快,但split更容易,更易读。
使用regex
:
正则表达式更灵活,更准确但更慢。
Pattern pattern = Pattern.compile("^http://.*?/(.*?)/.*?$");
Matcher matcher = pattern.matcher(urlString);
matcher.group(0);