Java 用正则表达式 驼峰值转换
1、驼峰格式
aaBbCcDd
2、转换格式
AA_BB_CC_DD
3、代码
部分驼峰值前面会有带“_”的格式,首先应先去掉
String cuid = column.split("_")[1];
节点为大写字母,所以驼峰正则表达式使用全大写的字母作为依据
String regexStr ="[A-Z]";
转化代码如下:
Matcher matcher = Pattern.compile(regexStr).matcher(cuid);
StringBuffer sb =new StringBuffer();
while (matcher.find()) {
String g = matcher.group();
matcher.appendReplacement(sb, "_" + g.toLowerCase());
}
matcher.appendTail(sb);
if (sb.charAt(0) ==' ') {
sb.delete(0, 1);
}
将准换好的内容通过全大写方法转化为大写
sb.toString().toUpperCase();
例如: 输入 comTestKeyValue
输出 COM_TEST_LEY_VALUE
将普通值转化为驼峰值
String source = "COM_TEST_LEY_VALUE";
StringregexStr="_";
String[]sources=source.split(regexStr);
StringBuffersb=newStringBuffer();
for(inti= 0;i
if(i== 0) {
sb.append(sources[0].toLowerCase());
}else{
Stringa=sources[i].substring(0, 1);
Stringb=sources[i].substring(1).toLowerCase();
sb.append(a+b);
}
}
sb.toString()
例如: 输入 COM_TEST_LEY_VALUE
输出 comTestKeyValue