[英]Java: Get integer value from URL
嗨,我正在尝试从URL中获取一个字符串。
我正在使用正则表达式。
String url = "http://localhost/htc/android/htc-incredible/259164-gpid";
Pattern regex = Pattern.compile("^.+/(\\d+)-gpid$");
Matcher tagmatch = regex.matcher( url );
System.out.println(tagmatch.group(0));
错误:
Exception in thread "main" java.lang.IllegalStateException: No match found
我做错了什么:
您需要使用group(1)
(第一个捕获组的内容),而不是group(0)
(整个匹配项)。
哦,当然,您需要实际进行搜索:
tagmatch.find();
System.out.println(tagmatch.group(1));
您可以尝试以下方法:
String url = "http://localhost/htc/android/htc-incredible/259164-gpid";
url.substring(url.indexOf('/',url.indexOf("htc-incredible/"))+1,url.indexOf("-gpid"));
另外,您可以结合使用lastIndexOf
和split
来获取所需的部分网址。 代码将如下所示
url.substring(url.lastIndexOf('/')+1).split("-")[0] //prints 259164
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.