1、引言
今天遇到一个问题,需要将类似 ydd_few、dsf_fsdf_dsfd、fds_dfg_kjen_wge 这样的字符串转化成yddFew、dsfFsdfDsfd、fdsDfgKjenWge
将下划线以后的每个字符串首字母大写,在这里做一下记录
2、代码
private static String reString(String orgStr) {
// 判断传入的字符串是否为空
if (StringUtils.isBlank(orgStr)) {
return null;
}
// 判断传入的字符串是否包含下划线,如果不包含直接返回
if (!orgStr.contains("_")) {
return orgStr;
}
// 将符合条件的字符串进行拆分
String[] splitArr = orgStr.split("_");
String change = "";
String newStr = splitArr[0];
// 遍历数组
for (int i = 1; i < splitArr.length; i++) {
String substring = splitArr[i].substring(0, 1);
change = splitArr[i].replaceFirst(substring, substring.toUpperCase(Locale.ROOT));
newStr += change;
}
return newStr;
}
public static void main(String[] args) {
String newString = reString("ydd_few");
System.out.println(newString); // 输出 yddFew
}
3、思路讲解:
1、将字符串通过下划线进行拆分成数组
2、按照数组的长度进行遍历
3、取数组对应下标字符串的首字母
4、将首字母转换成大写之后替换原来的小写
5、进行拼接
4、扩展
代码中的StringUtils.isBlank(orgStr) 方法引用 org.apache.commons.lang3.StringUtils 下的包
所用的依赖是:
org.apache.commons
commons-lang3
3.10
版本可根据自己的情况在 mvn镜像仓库中自取 https://mvnrepository.com/
5、参考
https://blog.csdn.net/qq_35629971/article/details/119572834



