• URL网址参数解析类


    /**
     * Created by myc on 2015/12/9.
     */
    import android.text.TextUtils;
    
    import java.util.HashMap;
    import java.util.Map;
    
    
    public class URLUtil {
    
        /**
         * 去掉url中的路径,留下请求参数部分
         * @param strURL url地址
         * @return url请求参数部分
         */
        private static String truncateUrlPage(String strURL)
        {
            if(TextUtils.isEmpty(strURL)){
                return null;
            }
            String strAllParam=null;
            strURL=strURL.trim().toLowerCase();
            String[] arrSplit = strURL.split("[?]");
    
            //有参数
            if(arrSplit.length>1)
            {
                if(arrSplit[1]!=null)
                {
                    strAllParam=arrSplit[1];
                }
            }
    
            return strAllParam;
        }
        /**
         * 解析出url参数中的键值对
         * @param URL  url地址
         * @return  url请求参数部分
         */
        public static Map<String, String> getRequestParamMap(String URL)
        {
            if(TextUtils.isEmpty(URL)){
                return null;
            }
    
            String strUrlParam=truncateUrlPage(URL);//得到参数
            if(TextUtils.isEmpty(strUrlParam))
            {
                return null;
            }
    
            Map<String, String> mapRequest = new HashMap<String, String>();
            //每个键值为一组
            String[] arrSplit=strUrlParam.split("[&]");
            for(String strSplit:arrSplit)
            {
                String[] arrSplitEqual= strSplit.split("[=]");
    
                //解析出键值
                if(arrSplitEqual.length>1)
                {
                    if(!TextUtils.isEmpty(arrSplitEqual[1]))
                    {
                        mapRequest.put(arrSplitEqual[0], arrSplitEqual[1]);//正确解析
                    }else{
                        mapRequest.put(arrSplitEqual[0], "");//无value
                    }
                }
            }
            return mapRequest;
        }
    }
  • 相关阅读:
    mysql六:数据备份、pymysql模块
    mysql三:表操作
    mysql四:数据操作
    剑指offer-数组
    剑指offer-回溯
    中缀表达式到后缀表达式的转换
    大数取余算法的证明及实现
    Windows下匿名管道进程通信
    Windows下使用命令行界面调用VS2015编译器编译C++程序方法
    6 个技巧,提升 C++11 的 vector 性能
  • 原文地址:https://www.cnblogs.com/maxiaodoubao/p/5032978.html
Copyright © 2020-2023  润新知