如何从webview中获取url中存在的值并将其附加到另一个url并加载到android中?

时间:2015-04-15 13:29:06

标签: android regex webview

考虑网址:www.xyz.com/buy/thankyou/handlers/display.html?ie=UTF8&asins=B00F0G8K&orderId=404-35644-70307&purchaseId=404-2849-9658作为第一个网址。第二个网址是:sndbx.abc.com/mob#?path=confirmOrder&oid=& amp; pid =& asins =。这里第一个url的orderid(multiple),purchaseId和asins的值应该在第二个url中填充,即第二个url应该是  sndbx.abc.com/mob#?path=confirmOrder&asins=B00F8K&oid=40444-7037&pid=4089-958。

2 个答案:

答案 0 :(得分:0)

您可以使用简单的URL分割器,可能会创建一些静态助手或其他任何东西。例如:

String url1 =..., url2=...;
String[] url1splitted = url1.split("&");
for(String pair:url1splitted){
    if(pair.contains("=") && pair.length()>=3 && getCount(pair, '=')=1){
        String param = pair.split("=")[0];
        String value = pair.split("=")[1];
        // add to HashMap, format another url or whatever...
    }
}

//getCount method
private int getCount(String pair, Char lookingFor){
    int counter = 0;
    for(int i=0; i<pair.length(); i++)
        if( pair.charAt(i) == lookingFor )
            counter++;
    return counter;
}

答案 1 :(得分:0)

replaceAll("[&][a-zA-Z0-9._%+-]{1,}[=]","")将替换第二个网址中没有值的所有密钥..

URL_1.split("?")[1]会给你所有的键值对,因此......

URL_2= URL_2.replaceAll("[&][a-zA-Z0-9._%+-]{1,}[=]","").concat(URL_1.split("?")[1] );

将做必要的事情。 希望这可以帮助 干杯:)