自用
//在驼峰式命名的字符串中的大写字母前加入下划线,比如:idValue变为id_value,reportAttrName变为report_attr_name
public static String convertToSnakeCase(String input) {
return input.replaceAll("([a-z0-9])([A-Z])", "$1_$2").toLowerCase();
}
public static String convertToSnakeCaseBig(String input) {
return input.replaceAll("([a-z0-9])([A-Z])", "$1_$2").toUpperCase();
}
// 判断一个字符串中是否存在大写字母
public static boolean hasUpperCase(String input) {
Pattern pattern = Pattern.compile("[A-Z]");
Matcher matcher = pattern.matcher(input);
return matcher.find();
}
// 将全大写加下划线组成的字符串变为驼峰式命名的字符串,例如:ID_NUM变为idNum,ONE_TWO_THREE变为oneTwoThree
public static String convertToCamelCase(String input) {
StringBuilder sb = new StringBuilder();
String[] words = input.toLowerCase().split("_");
for (int i = 0; i < words.length; i++) {
if (i == 0) {
sb.append(words[i]);
} else {
sb.append(Character.toUpperCase(words[i].charAt(0)));
sb.append(words[i].substring(1));
}
}
return sb.toString();
}