import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Copyright (C), 2011-2018 {company} * FileName: com.common.utils.StringUtils.java * Author: xxx * Email: xxx * Date: 2018/6/23 12:02 * Description: 字符串工具类 * History: * <Author> <Time> <version> <desc> * {xxx} 12:02 1.0 Create */ public class StringUtils { private static Pattern linePattern = Pattern.compile("_(\\w)"); private static Pattern humpPattern = Pattern.compile("[A-Z]"); /** * 划线转驼峰 * @param str * @return */ public static String lineToHump(String str){ str = str.toLowerCase(); Matcher matcher = linePattern.matcher(str); StringBuffer sb = new StringBuffer(); while(matcher.find()){ matcher.appendReplacement(sb, matcher.group(1).toUpperCase()); } matcher.appendTail(sb); return sb.toString(); } /** * 划线转驼峰(对map中的key进行转换) * @param map * @return */ public static Map lineToHump(Map map){ if(map == null){ return null; } Set keySet = map.keySet(); for (Iterator i = keySet.iterator(); i.hasNext();) { String key = (String) i.next(); Object value = map.get(key); // 划线转驼峰 String newKey = lineToHump(key); map.remove(key); map.put(newKey, value); } return map; } /** * 驼峰转下划线 * @param str * @return */ public static String humpToLine(String str){ Matcher matcher = humpPattern.matcher(str); StringBuffer sb = new StringBuffer(); while(matcher.find()){ matcher.appendReplacement(sb, "_"+matcher.group(0).toLowerCase()); } matcher.appendTail(sb); return sb.toString(); } public static void main(String[] args) { System.out.println(lineToHump("cust_no")); System.out.println(humpToLine("custNo")); } }
字符串工具类-StringUtils
最新推荐文章于 2024-09-06 10:45:20 发布