【Java实战经验】根据大写字母分割字符串,并保留大写字母

◉ 需求背景:

在使用反射操作数据库时,实体类属性名和数据库字段名命名风格不一样(属性名为驼峰命名,字段名使用下划线)
这时就需要将两个名称进行互换,其中将属性名转化成字段名就需要用到以大写字母分割字符串这个方法。


◉ 实现效果:

在这里插入图片描述


◉ 实现代码:

String tempName = "MyNameIsIceClean".replaceAll("[A-Z]", "_$0");
String[] partName = tempName.split("_");
for (String name : partName){
	System.out.print(name + " ");
}

◉ 代码解析:

方法 replaceAll 可以使用正则表达式对字符串进行修改,其中:

  • [A-Z] 表示任意一个大写字母
  • $0 表示匹配到的第一个字符(即该大写字母)
  • _$0 表示在匹配到的大写字母前加一个下划线(作为分隔符使用)
  • 最后再使用方法 split 以下划线 ’_‘ 为分隔符分割字符串,得到结果

每天进步一点点(IceClean)

posted @ 2021-04-15 23:33  IceClean  阅读(358)  评论(0)    收藏  举报