java移除/去掉字符串指定前缀以及清除字符串下划线的方法

去掉字符串指定的前缀

  1. 利用正则判断字符串前缀是否存在str.toLowerCase().matches("^" + pf.toLowerCase() + “.*”)
  2. 如果存在,利用substring截取前缀字符串长度的后面的字符串
  3. 方法如下:
    /**
     * 去掉字符串指定的前缀
     * @param str 字符串名称
     * @param prefix 前缀数组
     * @return
     */
    public static String removePrefix(String str, String[] prefix) {
        if (StringUtils.isEmpty(str)) {
            return "";
        } else {
            if (null != prefix) {
                String[] prefixArray = prefix;

                for(int i = 0; i < prefix.length; ++i) {
                    String pf = prefixArray[i];
                    if (str.toLowerCase().matches("^" + pf.toLowerCase() + ".*")) {
                        return str.substring(pf.length());//截取前缀后面的字符串
                    }
                }
            }

            return str;
        }
    }
   public static void main(String[] args) {
        String[] prefix = {"pre_","log_"};//去掉字符串前缀为pre_、log_
        String str = "pre_name";//测试字符串
        System.out.println(removePrefix(str,prefix));
    }

java移除/去掉字符串指定前缀以及清除字符串下划线的方法_第1张图片

清除字符串下划线

  1. 利用split分割成字符串数组
  2. 遍历数组,用StringBuffer拼接字符串,下划线后的首字母大写(驼峰结构)
  3. 方法如下:
    /**
     * 清除字符串下划线
     * @param strKey
     * @return
     */
    public static String getNoUnderlineStr(String strKey){
        if(strKey.indexOf("_")!=-1){
            String[] keyArray = strKey.split("_");
            StringBuffer sb = new StringBuffer();
            boolean flag = false;
            for(String key:keyArray){
                if(flag){
                    //下划线后的首字母大写
                    sb.append(StringUtils.capitalize(key));
                }else{
                    flag=true;
                    sb.append(key);
                }
            }
            strKey = sb.toString();
        }
        return strKey;
    }

你可能感兴趣的:(java)