驼峰下划线互转

简介: 驼峰下划线互转

驼峰下划线互转

/**
 * 将驼峰风格替换为下划线风格
*/
public static String camelhumpToUnderline(String str) {
    final int size;
    final char[] chars;
    final StringBuilder sb = new StringBuilder(
            (size = (chars = str.toCharArray()).length) * 3 / 2 + 1);
    char c;
    for (int i = 0; i < size; i++) {
        c = chars[i];
        if (isUppercaseAlpha(c)) {
            sb.append('_').append(toLowerAscii(c));
        } else {
            sb.append(c);
        }
    }
    return sb.charAt(0) == '_' ? sb.substring(1) : sb.toString();
}
/**
 * 将下划线风格替换为驼峰风格
*/
public static String underlineToCamelhump(String str) {
    Matcher matcher = UNDERLINE_TO_CAMELHUMP_PATTERN.matcher(str);
    StringBuilder builder = new StringBuilder(str);
    for (int i = 0; matcher.find(); i++) {
        builder.replace(matcher.start() - i, matcher.end() - i, matcher.group().substring(1).toUpperCase());
    }
    if (Character.isUpperCase(builder.charAt(0))) {
        builder.replace(0, 1, String.valueOf(Character.toLowerCase(builder.charAt(0))));
    }
    return builder.toString();
}
目录
相关文章
|
8月前
|
程序员
驼峰下划线互转工具类
驼峰下划线互转工具类
127 0
|
Java
Java实现驼峰、下划线互相转换
Java实现驼峰、下划线互相转换
947 1
下划线转驼峰
实际业务中经常遇到需要将下划线转为驼峰命名的续期。下面的代码可以参考。
78 0
|
C++
C++实现中文大写与阿拉伯数字的相互转换(类封装)
C++实现中文大写与阿拉伯数字的相互转换(类封装)
700 0
|
C语言
详解:字符转换函数(大写转小写,小写转大写)
详解:字符转换函数(大写转小写,小写转大写)
230 0
详解:字符转换函数(大写转小写,小写转大写)
转换字符串的首字母为大写
转换字符串的首字母为大写
67 0
|
Python
Python编程:将驼峰命名转为小写下划线命名
Python编程:将驼峰命名转为小写下划线命名
183 0
|
JavaScript 前端开发
JavaScript 实现字符串驼峰式与下划线式互相转换
JavaScript 实现字符串驼峰式与下划线式互相转换
384 0
|
Java 数据库
实战小技巧5:驼峰与下划线互转
这个考题非常实用,特别是对于我们这些号称只需要CURD的后端开发来说,驼峰与下划线互转,这不是属于日常任务么;一般来讲db中的列名,要求是下划线格式(why? 阿里的数据库规范是这么定义的,就我感觉驼峰也没毛病),而java实体命名则是驼峰格式,所以它们之间的互转,就必然存在一个驼峰与下划线的互转 今天我们就来看一下,这两个的互转支持方式
2011 0