求一个工具类,解析url字符串里的参数

baibaluo 2011-04-13 05:29:57
我有一个字符串类似url的参数

a=1&b=2&c=3&d=4

有没有工具类解析这样的字符串,直接取a或者b的值

比如xxUtil.get("a"),就得到了1
...全文
1473 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
etnet 2011-04-15
  • 打赏
  • 举报
回复
我的代码有问题吗?居然还要别人帮你全部写好,懒也有个下限吧。
java爱好者 2011-04-14
  • 打赏
  • 举报
回复

import java.util.HashMap;
import java.util.Map;

/**
* 类说明:URL参数解析
*
* @author 作者: LiuJunGuang
* @version 创建时间:2011-4-14 上午12:36:51
*/
public class URLAnalysis {
private Map<String, String> paramMap = new HashMap<String, String>();

public void analysis(String url) {
paramMap.clear();
if (!"".equals(url)) {// 如果URL不是空字符串
url = url.substring(url.indexOf('?') + 1);
String paramaters[] = url.split("&");
for (String param : paramaters) {
String values[] = param.split("=");
paramMap.put(values[0], values[1]);
}
}
}

public String getParam(String name) {
return paramMap.get(name);
}

public static void main(String[] args) {
String test = "http://xxx.com?name=helddlo&id=100";
URLAnalysis urlAnalysis = new URLAnalysis();
urlAnalysis.analysis(test);
System.out.println("name = " + urlAnalysis.getParam("name"));
System.out.println("id = " + urlAnalysis.getParam("id"));
}
}
来来 2011-04-14
  • 打赏
  • 举报
回复
import java.util.*;

public class Test2 {

/**
* @param args
*/

public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
String queryString = "a=1&b=2&c=3&d=4";
String[] queryStringSplit = queryString.split("&");
Map<String, String> queryStringMap = new HashMap<String, String>(
queryStringSplit.length);
String[] queryStringParam;
for (String qs : queryStringSplit) {
queryStringParam = qs.split("=");
queryStringMap.put(queryStringParam[0], queryStringParam[1]);
}
System.out.print("请输入你要查询的字符串:");
String s = scan.nextLine();
System.out.println("你得到的对应值为:");
getValue(queryStringMap, s);

}

public static void getValue(Map<String, String> m, String input) {
Set<String> keySet = m.keySet();
for (String s : keySet) {
if (s.equals(input)) {
System.out.println(m.get(s));
}
}

}

}

这是我参考一楼的代码修改了一下,你看看行不??
hyl7733 2011-04-14
  • 打赏
  • 举报
回复
没有现成的 要自己去解析字符串 1楼的就可以啦
CoffeeStyle 2011-04-13
  • 打赏
  • 举报
回复
我看1楼的代码就挺好,呵呵
24K純帥 2011-04-13
  • 打赏
  • 举报
回复
没有现成的,要自己分割字符串。。
etnet 2011-04-13
  • 打赏
  • 举报
回复

String queryString = "a=1&b=2&c=3&d=4";
String[] queryStringSplit = queryString.split("&");
Map<String,String> queryStringMap =
new HashMap<String,String>(queryStringSplit.length);
String[] queryStringParam;
for (String qs : queryStringSplit) {
queryStringParam = qs.split("=");
queryStringMap.put(queryStringParam[0], queryStringParam[1]);
}

System.out.println(queryStringMap);

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧