什么是在android中解析这样一个url的最佳方法

时间:2013-11-21 12:49:36

标签: java android

我有这两种网址:

www.test.com/#!search/keyword/cat=52400005/

www.test.com/#!search/keyword/cat=52400005

我想从此类字符串中提取keywordcatkeyword是变量,cat后跟=)。

怎么能实现这个目标?

提前致谢。

2 个答案:

答案 0 :(得分:3)

    URL url = new URL("http://www.test.com/#!search/keyword/cat=52400005/");        
    String ref = url.getRef();

    List<String> segments = Uri.parse(ref).getPathSegments();


    String keyWord = segments.get(1);
    String cat = segments.get(2).substring(4);

编辑:经过测试和工作。

答案 1 :(得分:2)

这个正则表达式会给你

^www.test.com/#!search/(.+)/cat=(.+)/$

Pattern p = Pattern.compile("^www.test.com/#!search/(.+)/cat=(.+)/$");
Matcher m = p.matcher(url);

while(m.find()) {
    String keyword = m.group(1);
    String cat = m.group(2);
}

关键字是第一组,cat是第二组。