解析這樣的URL最好的方式,我有這個2種網址:什麼是Android
www.test.com/#!search/keyword/cat=52400005/
和
www.test.com/#!search/keyword/cat=52400005
我想提取從這種字符串keyword
和cat
(keyword
是可變的,並且cat
之後是=
)。
這怎麼能實現呢?
在此先感謝。
解析這樣的URL最好的方式,我有這個2種網址:什麼是Android
www.test.com/#!search/keyword/cat=52400005/
和
www.test.com/#!search/keyword/cat=52400005
我想提取從這種字符串keyword
和cat
(keyword
是可變的,並且cat
之後是=
)。
這怎麼能實現呢?
在此先感謝。
此正則表達式將會給你
^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);
}
關鍵字是第一組,貓是第二。
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);
編輯:測試和工作。
您可以在字符「/」上拆分字符串,然後在「=」上拆分子字符串。如果單詞的位置總是相同,則很容易提取單詞。 – Massimo