现在有这个么个需求:
将驼峰式命名的字符串转换为下划线大写方式
例如:testUser ------------->TEST_USER
我们直接上代码:
/**
* @param name 转换前的驼峰式命名的字符串
* @return 转换后下划线大写方式命名的字符串
*/
public static String humpToUnderline(String name) {
StringBuilder result = new StringBuilder();
if (name != null && name.length() > 0) {
// 将第一个字符处理成大写
result.append(name.substring(0, 1).toUpperCase());
// 循环处理其余字符
for (int i = 1; i < name.length(); i++) {
String s = name.substring(i, i + 1);
// 在大写字母前添加下划线
if (s.equals(s.toUpperCase()) && !Character.isDigit(s.charAt(0))) {
result.append("_");
}
// 其他字符直接转成大写
result.append(s.toUpperCase());
}
}
return result.toString();
}
我们来测试一下:
public static void main(String[] args) throws ClassNotFoundException {
String s = "testUser";
String result = humpToUnderline(s);
System.out.println("转换后的结果:" + result);
}
//打印结果:转换后的结果:TEST_USER