實現-駝峯和下劃線的轉換 工具類

/** * 工具類-駝峯和下劃線的轉換 */ public class StringUtil { /** * 下劃線命名轉駝峯命名 * @param underscore * @return */ public static String underscoreToCamelCase(String underscore){ String[] ss = underscore.split("_"); if(ss.length ==1){ return underscore; } StringBuffer sb = new StringBuffer(); sb.append(ss[0]); for (int i = 1; i < ss.length; i++) { sb.append(upperFirstCase(ss[i])); } return sb.toString(); } /** * 駝峯 轉下劃線 * @param camelCase * @return */ public static String toLine(String camelCase){ Pattern humpPattern = Pattern.compile("[A-Z]"); Matcher matcher = humpPattern.matcher(camelCase); StringBuffer sb = new StringBuffer(); while(matcher.find()){ matcher.appendReplacement(sb, "_"+matcher.group(0).toLowerCase()); } matcher.appendTail(sb); return sb.toString(); } /** * 首字母 轉小寫 * @param str * @return */ private static String lowerFirstCase(String str) { char[] chars = str.toCharArray(); chars[0] += 32; return String.valueOf(chars); } /** * 首字母 轉大寫 * @param str * @return */ private static String upperFirstCase(String str) { char[] chars = str.toCharArray(); chars[0] -= 32; return String.valueOf(chars); } public static void main(String[] args) { String camelCase = StringUtil.underscoreToCamelCase("cteate_time"); System.out.println(camelCase);//cteateTime System.out.println(toLine("cteateTimeAndUser"));//cteate_time_and_user } }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章