如何从android中的webview获取url中存在的值?

时间:2015-04-11 10:07:47

标签: java android

我有一个网址,其中有一个ID(如订单ID,产品ID等)在webview中。如何获取这些ID并将它们放入字符串? 比如说,网址是

  

www.xyz.com/buy/thankyou/handlers/display.html?ie=UTF8&asins=B00F0G8K&orderId=404-35644-70307&purchaseId=404-2849-9658

我需要&asins&orderid&purchase_id的值,并将其传递给另一个网址。我该怎么取他们? 所有这些都发生在webview中。

2 个答案:

答案 0 :(得分:2)

WebView获取网址,将其解析为Uri并从中获取各个查询参数。

示例:

Uri uri=Uri.parse(myWebView.getUrl());
String orderId = uri.getQueryParameter("orderid");

答案 1 :(得分:0)

  

刚刚看到@rax的答案,可能会更好。

尝试这样的事情:

String regex = "asins=(.*)&orderId=(.*)&purchaseId=(.*)";
String myString = "www.xyz.com/buy/thankyou/handlers/display.html?ie=UTF8&asins=B00F0G8K&orderId=404-35644-70307&purchaseId=404-2849-9658 ";
//use String myString = webView.getUrl(); in your case;
Pattern pattern = Pattern.compile(regex); 
Matcher matcher = pattern.matcher(myString);

while (matcher.find()) {
        System.out.println(matcher.group().replaceAll(regex, "$1"));
        System.out.println(matcher.group().replaceAll(regex, "$2"));
        System.out.println(matcher.group().replaceAll(regex, "$3"));
    }

输出:

B00F0G8K
404-35644-70307
404-2849-9658 

希望这会有所帮助,如果您有任何疑问,请发表评论。