83c77147154d0c4437be61207e779f506bf9014f.svn-base 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. package cn.com.goldenwater.dcproj.util;
  2. import java.util.regex.Matcher;
  3. import java.util.regex.Pattern;
  4. /**
  5. * Created by zx on 14/10/24.
  6. */
  7. public class StringUtil {
  8. public static final char UNDERLINE = '_';
  9. public static String capFirst(String str) {
  10. String firstC = str.substring(0, 1);
  11. return str.replaceFirst(firstC, firstC.toUpperCase());
  12. }
  13. public static String javaStyle(String columnName) {
  14. String patternStr = "(_[a-z,A-Z])";
  15. Pattern pattern = Pattern.compile(patternStr);
  16. Matcher matcher = pattern.matcher(columnName.toLowerCase());
  17. StringBuffer buf = new StringBuffer();
  18. while (matcher.find()) {
  19. String replaceStr = matcher.group();
  20. matcher.appendReplacement(buf, replaceStr.toUpperCase());
  21. }
  22. matcher.appendTail(buf);
  23. return buf.toString().replaceAll("_", "");
  24. }
  25. // 首字母小写
  26. public static String lowerInit(String s) {
  27. if(Character.isLowerCase(s.charAt(0))) {
  28. return s;
  29. }else{
  30. return (new StringBuilder()).append(Character.toLowerCase(s.charAt(0))).append(s.substring(1)).toString();
  31. }
  32. }
  33. public static String excuteName(String projectName) {
  34. String[] patternStr = projectName.split("-");
  35. StringBuffer buf = new StringBuffer();
  36. for (String text:patternStr){
  37. buf.append(upperCase(text));
  38. }
  39. return buf.toString();
  40. }
  41. public static String upperCase(String str) {
  42. char[] ch = str.toCharArray();
  43. if (ch[0] >= 'a' && ch[0] <= 'z') {
  44. ch[0] = (char) (ch[0] - 32);
  45. }
  46. return new String(ch);
  47. }
  48. /**
  49. * 驼峰格式字符串转换为下划线格式字符串
  50. *
  51. * @param param
  52. * @return
  53. */
  54. public static String camelToUnderline(String param) {
  55. if (param == null || "".equals(param.trim())) {
  56. return "";
  57. }
  58. int len = param.length();
  59. StringBuilder sb = new StringBuilder(len);
  60. for (int i = 0; i < len; i++) {
  61. char c = param.charAt(i);
  62. if (Character.isUpperCase(c)) {
  63. sb.append(UNDERLINE);
  64. sb.append(Character.toLowerCase(c));
  65. } else {
  66. sb.append(c);
  67. }
  68. }
  69. return sb.toString();
  70. }
  71. /**
  72. * 下划线格式字符串转换为驼峰格式字符串
  73. *
  74. * @param param
  75. * @return
  76. */
  77. public static String underlineToCamel(String param) {
  78. if (param == null || "".equals(param.trim())) {
  79. return "";
  80. }
  81. int len = param.length();
  82. StringBuilder sb = new StringBuilder(len);
  83. for (int i = 0; i < len; i++) {
  84. char c = param.charAt(i);
  85. if (c == UNDERLINE) {
  86. if (++i < len) {
  87. sb.append(Character.toUpperCase(param.charAt(i)));
  88. }
  89. } else {
  90. sb.append(c);
  91. }
  92. }
  93. return sb.toString();
  94. }
  95. public static void main(String[] args)throws Exception {
  96. System.out.println(excuteName("gw-cloud-mydemo"));
  97. }
  98. }