考虑网址: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。
答案 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] );
将做必要的事情。 希望这可以帮助 干杯:)