public class StingUtil {
private final static Pattern BIG_COMPILE = Pattern.compile("[A-Z]");
private final static Pattern SMALL_COMPILE = Pattern.compile("_[a-z]");
public static void main(String[] args) {
}
/**
* 将驼峰转为下划线
*
* @param str
* @return java.lang.String
*/
public static String humpToUnderline(String str) {
Matcher matcher = BIG_COMPILE.matcher(str);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
}
matcher.appendTail(sb);
return sb.toString();
}
/**
* 将下划线转为驼峰
*
* @param str
* @return java.lang.String
*/
public static String underlineToHump(String str) {
str = str.toLowerCase();
Matcher matcher = SMALL_COMPILE.matcher(str);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
matcher.appendReplacement(sb, matcher.group(0).toUpperCase().replace("_", ""));
}
matcher.appendTail(sb);
return sb.toString();
}
}