public static void main(String[] args) {
String url = "https://web?id=1&page=12&name=吴彭正¶m=111";
String result = urlSplit(url,"name");
System.out.println(result);
}
/**
* 解析出url参数中的键值对
* 如 "index.jsp?Action=del&id=123",解析出Action:del,id:123存入map中
* 根据参数名称获取参数后面的值
* @param URL url地址
* @return url请求参数部分
* @author lzf
*/
public static String urlSplit(String URL, String params) {
String result = null ;
Map<String, String> mapRequest = new HashMap<String, String>();
String[] arrSplit = null;
String strUrlParam = TruncateUrlPage(URL);
if (strUrlParam == null) {
return null;
}
arrSplit = strUrlParam.split("[&]");
for (String strSplit : arrSplit) {
String[] arrSplitEqual = null;
arrSplitEqual = strSplit.split("[=]");
//解析出键值
if (arrSplitEqual.length > 1) {
//正确解析
mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);
} else {
if (arrSplitEqual[0] != "") {
//只有参数没有值,不加入
mapRequest.put(arrSplitEqual[0], "");
}
}
}
Iterator<Map.Entry<String, String>> it = mapRequest.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
if(entry.getKey().equals(params)){
result = entry.getValue();
}
}
return result;
}
private static String TruncateUrlPage(String strURL) {
String strAllParam = null;
String[] arrSplit = null;
arrSplit = strURL.split("[?]");
if (strURL.length() > 1) {
if (arrSplit.length > 1) {
for (int i = 1; i < arrSplit.length; i++) {
strAllParam = arrSplit[i];
}
}
}
return strAllParam;
}
根据指定的参数截取URL然后获取指定参数的参数值
最新推荐文章于 2026-05-19 06:01:07 发布
本文介绍了一种从URL中解析参数并获取特定键值对的方法,通过一个Java示例展示了如何将URL参数转换为Map,从而方便地访问和操作。

747

被折叠的 条评论
为什么被折叠?



