/**
* 在指定url后追加参数
* @param url
* @param data 参数集合 key = value
* @return
*/
private static String appendUrl(String url, Map<String, Object> data) {
String newUrl = url;
StringBuffer param = new StringBuffer();
for (String key : data.keySet()) {
param.append(key + "=" + data.get(key).toString() + "&");
}
String paramStr = param.toString();
paramStr = paramStr.substring(0, paramStr.length() - 1);
if (newUrl.indexOf("?") >= 0) {
newUrl += "&" + paramStr;
} else {
newUrl += "?" + paramStr;
}
return newUrl;
}
/**
* 获取指定url中的某个参数
* @param url
* @param name
* @return
*/
public static String getParamByUrl(String url, String name) {
url += "&";
String pattern = "(\\?|&){1}#{0,1}" + name + "=[a-zA-Z0-9]*(&{1})";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(url);
if (m.find( )) {
System.out.println(m.group(0));
return m.group(0).split("=")[1].replace("&", "");
} else {
return null;
}
}
public static void main(String[] args) throws Exception {
// Map<String, Object> param = new HashMap<>();
// param.put("id", 1);
// param.put("age", 18);
// System.out.println(appendUrl("http://test.com", param));
// System.out.println(appendUrl("http://test.com?name=a", param));
// String url = "http://test.com?name=abd&id=1&age=18";
String url = "http://www.xxxxx.com/login.do?#access_token=xxxx&express_id=yyyyy";
System.out.println(getParamByUrl(url, "express_id"));
}
Java给指定URL字符串添加值和获取URL字符串中的参数值
最新推荐文章于 2024-07-20 03:10:03 发布
本文介绍了一种在指定URL后追加参数的方法,并提供了一个实用的Java函数实现。此外,还展示了如何从URL中提取特定参数的值,这对于进行网页链接定制和解析非常有用。

2416

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



