根据传入的带下划线的字符串转化为驼峰格式 @param str @author mrf @return
(String str)
| 51 | */ |
| 52 | |
| 53 | public static String underlineToHump(String str) { |
| 54 | //正则匹配下划线及后一个字符,删除下划线并将匹配的字符转成大写 |
| 55 | Matcher matcher = UNDERLINE_PATTERN.matcher(str); |
| 56 | StringBuffer sb = new StringBuffer(str); |
| 57 | if (matcher.find()) { |
| 58 | sb = new StringBuffer(); |
| 59 | //将当前匹配的子串替换成指定字符串,并且将替换后的子串及之前到上次匹配的子串之后的字符串添加到StringBuffer对象中 |
| 60 | //正则之前的字符和被替换的字符 |
| 61 | matcher.appendReplacement(sb, matcher.group(1).toUpperCase()); |
| 62 | //把之后的字符串也添加到StringBuffer对象中 |
| 63 | matcher.appendTail(sb); |
| 64 | } else { |
| 65 | //去除除字母之外的前面带的下划线 |
| 66 | return sb.toString().replaceAll("_", ""); |
| 67 | } |
| 68 | return underlineToHump(sb.toString()); |
| 69 | } |
| 70 | |
| 71 | } |
| 72 |