在指定的URL上添加参数并改变参数
来源:互联网 发布:ubuntu caffe cuda8.0 编辑:程序博客网 时间:2024/06/07 03:25
作为工具类笔记整理:
import java.util.ArrayList;import java.util.List;import org.apache.commons.lang3.StringUtils;/** * Title: 在指定的URL上添加参数并改变参数 * 需求: * 改变url,给定一个paramName和paramValue,若paramName存在, * 则改变paramName对应的oldvalue,否则就添加一个paramName与paramValue的键值对 * 前提是给定的参数,paramName和paramValue均不为空,为空直接返回原url * Description: TestDemo * @author: xg.chen * @date:2016年9月2日 */public class StringURL { /** * MethodsTitle:传入的URL中参数的处理 * @author: xg.chen * @date:2016年9月2日 * @param url 传入的url ex:"http://exp.kunnr.com/so/index.html?kunnrId=16&openid=16#/app/home" * @param paramName 参数名 * @param paramValue 参数值 * @return */ public static String inputURL(String url,String paramName,String paramValue){ //参数和参数名为空的话就返回原来的URL if(StringUtils.isBlank(paramValue) || StringUtils.isBlank(paramName)){ return url; } //先很据# ? 将URL拆分成一个String数组 String a = ""; String b = ""; String c = ""; String[] abcArray = url.split("[?]"); a = abcArray[0]; if (abcArray.length > 1) { String bc = abcArray[1]; String[] bcArray = bc.split("#"); b = bcArray[0]; if (bcArray.length > 0) { c = bcArray[1]; } } if (StringUtils.isBlank(b)) { return url; } // 用&拆p, p1=1&p2=2 ,{p1=1,p2=2} String[] bArray = b.split("&"); String newb = ""; boolean found = false; for (int i = 0; i < bArray.length; i++) { String bi = bArray[i]; if (StringUtils.isBlank(bi)) continue; String key = ""; String value = ""; String[] biArray = bi.split("="); // {p1,1} key = biArray[0]; if (biArray.length > 1) value = biArray[1]; if (key.equals(paramName)) { found = true; if (StringUtils.isNotBlank(paramValue)) { newb = newb + "&" + key + "=" + paramValue; } else { continue; } } else { newb = newb + "&" + key + "=" + value; } } // 如果没找到,加上 if (!found && StringUtils.isNotBlank(paramValue)) { newb = newb + "&" + paramName + "=" + paramValue; } if (StringUtils.isNotBlank(newb)) a = a + "?" + newb; if (StringUtils.isNotBlank(c)) a = a + "#" + c; return a; } /** * MethodsTitle: 从url地址中根据key获取value * @author: xg.chen * @date:2016年9月2日 * @param url "http://exp.kunnr.com/so/index.html?kunnrId=16&openid=16#/app/home" * @param paramName * @return */ public static String getURLParamValue(String url, String paramName) { if(StringUtils.isBlank(paramName)){ return null; } // ? #拆开,先把?拆开 a?b#c ->{a,b,c} String b = ""; String[] abcArray = url.split("[?]"); if (abcArray.length > 1) { String bc = abcArray[1]; String[] bcArray = bc.split("#"); b = bcArray[0]; } if (StringUtils.isBlank(b)) { return null; } // 用&拆p, p1=1&p2=2 ,{p1=1,p2=2} String[] bArray = b.split("&"); for (int i = 0; i < bArray.length; i++) { String bi = bArray[i]; if (StringUtils.isBlank(bi)) continue; String key = ""; String value = ""; String[] biArray = bi.split("="); // {p1,1} key = biArray[0]; if (biArray.length > 1) value = biArray[1]; if (key.equals(paramName)) { return value; } } return null; } /** * MethodsTitle: 根据长度拆分字符串,返回一个List * @author: xg.chen * @date:2016年9月2日 * @param txt * @param len * @return */ public static List<String> splitTxtByLen(String txt,int len){ List<String> list=new ArrayList<String>(); if(StringUtils.isBlank(txt)) return list; if(len==0) return list; //txt="一二三四五六七八久十二二三四五六七八久十三二三四五六七八久十四二三四五六七八久十五二三四五六七八久十"; String remain=txt; String put=""; for (int i = 0; i < 1+(txt.length()/10); i++) { if(remain.length()<=len){ list.add(remain); break; } put=txt.substring(i*len, (i+1)*len); remain=txt.substring((i+1)*len,txt.length()); list.add(put); } return list; } //测试模块 public static void main(String[] arg0){ String txt="一二三四五六七八久十二二三四五六七八久十三二三四五六七八久十四二三四五六七八久十五二三四五六七八久十"; int len=10; List<?> list = splitTxtByLen(txt, len); System.out.println(list); }}
0 0
- 在指定的URL上添加参数并改变参数
- 在URL中去除指定参数的代码
- js函数:改变页面url替换指定传入参数的值
- 怎么在django中获取URL上的参数
- Javascript 得到url指定参数的function
- javascript获取url指定参数的值
- 获取URL的指定参数对应值
- 获取URL的指定参数对应值
- Jqurey 得到url指定的参数 getUrlParam
- 在页面上获取url中的参数
- Apache httpclient 获取url上的数据并向url发送参数
- 从Url中去除指定的Url参数
- datagrid改变url参数值
- 在按钮事件上添加参数传递
- JavaScript获取URL指定参数
- 改变URL不改变,不请求参数
- JQUERY 获取URL上的参数
- javascript获取url上的某个参数
- 在ASP.NET中实现多文件上传
- android项目添加so文件遇到的各种问题
- 学会编写Android Studio插件 别停留在用的程度了
- @maohoo Intellij idea 配置的备份,解决非正常关机导致环境配置丢失的问题
- mysql模拟Oracle(select t.*, row_number() over(partition by...)...实现分组排序功能
- 在指定的URL上添加参数并改变参数
- 二叉树的深度
- 页面静态化技术Freemarker技术的介绍及使用实例.
- 安卓回调机制浅解
- 20年的老程序员对新入行的朋友的一些建议
- 写给自己
- sql语句生成javabean类
- 在.NET中利用XMLHTTP下载文件
- LeetCode No.11 ~No.12