package cn.com.goldenwater.dcproj.util; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * Created by zx on 14/10/24. */ public class StringUtil { public static final char UNDERLINE = '_'; public static String capFirst(String str) { String firstC = str.substring(0, 1); return str.replaceFirst(firstC, firstC.toUpperCase()); } public static String javaStyle(String columnName) { String patternStr = "(_[a-z,A-Z])"; Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(columnName.toLowerCase()); StringBuffer buf = new StringBuffer(); while (matcher.find()) { String replaceStr = matcher.group(); matcher.appendReplacement(buf, replaceStr.toUpperCase()); } matcher.appendTail(buf); return buf.toString().replaceAll("_", ""); } // 首字母小写 public static String lowerInit(String s) { if(Character.isLowerCase(s.charAt(0))) { return s; }else{ return (new StringBuilder()).append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString(); } } public static String excuteName(String projectName) { String[] patternStr = projectName.split("-"); StringBuffer buf = new StringBuffer(); for (String text:patternStr){ buf.append(upperCase(text)); } return buf.toString(); } public static String upperCase(String str) { char[] ch = str.toCharArray(); if (ch[0] >= 'a' && ch[0] <= 'z') { ch[0] = (char) (ch[0] - 32); } return new String(ch); } /** * 驼峰格式字符串转换为下划线格式字符串 * * @param param * @return */ public static String camelToUnderline(String param) { if (param == null || "".equals(param.trim())) { return ""; } int len = param.length(); StringBuilder sb = new StringBuilder(len); for (int i = 0; i < len; i++) { char c = param.charAt(i); if (Character.isUpperCase(c)) { sb.append(UNDERLINE); sb.append(Character.toLowerCase(c)); } else { sb.append(c); } } return sb.toString(); } /** * 下划线格式字符串转换为驼峰格式字符串 * * @param param * @return */ public static String underlineToCamel(String param) { if (param == null || "".equals(param.trim())) { return ""; } int len = param.length(); StringBuilder sb = new StringBuilder(len); for (int i = 0; i < len; i++) { char c = param.charAt(i); if (c == UNDERLINE) { if (++i < len) { sb.append(Character.toUpperCase(param.charAt(i))); } } else { sb.append(c); } } return sb.toString(); } public static void main(String[] args)throws Exception { System.out.println(excuteName("gw-cloud-mydemo")); } }