java,下划线与驼峰命名转换 博客分类: 工具 驼峰命名下划线
程序员文章站
2024-03-25 19:00:46
...
下划线与驼峰命名转换。
public class Tool{ private static Pattern linePattern = Pattern.compile("_(\\w)"); /**下划线转驼峰*/ public static String lineToHump(String str){ str = str.toLowerCase(); Matcher matcher = linePattern.matcher(str); StringBuffer sb = new StringBuffer(); while(matcher.find()){ matcher.appendReplacement(sb, matcher.group(1).toUpperCase()); } matcher.appendTail(sb); return sb.toString(); } /**驼峰转下划线(简单写法,效率低于{@link #humpToLine2(String)})*/ public static String humpToLine(String str){ return str.replaceAll("[A-Z]", "_$0").toLowerCase(); } private static Pattern humpPattern = Pattern.compile("[A-Z]"); /**驼峰转下划线,效率比上面高*/ public static String humpToLine2(String str){ Matcher matcher = humpPattern.matcher(str); StringBuffer sb = new StringBuffer(); while(matcher.find()){ matcher.appendReplacement(sb, "_"+matcher.group(0).toLowerCase()); } matcher.appendTail(sb); return sb.toString(); } public static void main(String[] args) { String lineToHump = lineToHump("f_parent_no_leader"); System.out.println(lineToHump);//fParentNoLeader System.out.println(humpToLine(lineToHump));//f_parent_no_leader System.out.println(humpToLine2(lineToHump));//f_parent_no_leader } }
不纠结""_"+matcher.group(0).toLowerCase()"的话,humpToLine2效率会比humpToLine高一些,看String#replaceAll方法源码即可。
上一篇: textview 下划线 博客分类: android androidtextviewunderline下划线html
下一篇: phonegap splash screen 博客分类: 移动开发 phonegapjquerymobilehtml5splash
推荐阅读
-
java,下划线与驼峰命名转换 博客分类: 工具 驼峰命名下划线
-
mybatis支持属性使用驼峰的命名 博客分类: Java mybatis
-
使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写
-
使用PHP把下划线分隔命名的字符串 转换成驼峰式命名方式 , 把下划线后面的第一个字母变成大写,驼峰下划线
-
Java Json 数据下划线与驼峰格式进行相互转换
-
Java Json 数据下划线与驼峰格式进行相互转换
-
eclipselink 数据库表命名规则 驼峰转下划线/表名转换
-
【Java】工具类,如何将匈牙利命名法转换成驼峰命名法
-
Java的驼峰与下划线的属性对象互相转换
-
Spring Boot——MyBatis配置带下划线命名的字段自动转换驼峰命名解决方案