java 驼峰和下划线互相转换

2023-11-09

其实是很简单的正则表达式转换


直接上代码

    /**
     * 驼峰转下划线
     * @param str   目标字符串
     * @return: java.lang.String
     */
    public static String humpToUnderline(String str) {
        String regex = "([A-Z])";
        Matcher matcher = Pattern.compile(regex).matcher(str);
        while (matcher.find()) {
            String target = matcher.group();
            str = str.replaceAll(target, "_"+target.toLowerCase());
        }
        return str;
    }

    /**
     * 下划线转驼峰
     * @param str   目标字符串
     * @return: java.lang.String
     */
    public static String underlineToHump(String str) {
        String regex = "_(.)";
        Matcher matcher = Pattern.compile(regex).matcher(str);
        while (matcher.find()) {
            String target = matcher.group(1);
            str = str.replaceAll("_"+target, target.toUpperCase());
        }
        return str;
    }
测试
System.out.println(humpToUnderline("humpToUnderline"));
System.out.println(underlineToHump("hump_to_underline"));
结果
hump_to_underline
humpToUnderline

js 版的更加简单: https://blog.csdn.net/qq_31254489/article/details/115843025

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java 驼峰和下划线互相转换 的相关文章

随机推荐

  • 【STM32篇】步进电机之S型曲线

    使用步进电机的S曲线算法的目的是为了使电机缓慢加速到目标转速或从高转速减速到0 防止电机在高转速时立即停止而对电机造成损伤 减少电机的使用寿命 本文主要讲述S型算法的使用 对于具体的原理 可通过其他博主的文章学习 图1 S算法加减速图 如图
  • libvirt笔记 PCI设备直通

    PCI设备直通功能允许将主机上的物理PCI设备直接分配给来宾机 客户操作系统驱动程序可以直接使用设备硬件 而无需依赖主机操作系统的任何驱动程序功能 在使用PCI设备直通时需要注意一些事项 当将PCI设备直接分配给客户机时 如果不首先从客户机
  • 静态代码和动态代码的区别_动态改变的代码设计思想

    前言 我看过很多书 知道那些作者在推广什么 相对书里的东西落地 还是一个不容易的过程 我看过很多行业的代码 持续多年的积累 聊过一些老板 对代码改造的看法 为什么 程序员这么难 我将用4个方向 来解释代码设计中的设计思路和方法 给大家展现一
  • Android登录 之 GooglePlay登录

    想法 写了好久代码了 但是都没有具体的总结下 总是用到的时候 再去翻看资料 一看就是一堆 到最后都不一定能管用 近期做了一些项目 涉及到了登录授权 细回想下 自己接过的登录授权还真心不少 不同的授权都会一一列举 以后方便自己 也希望能够方便
  • Fatal error: Cannot declare class ***, because the name is already in use in D:\www\test.php

    报错信息 Fatal error Cannot declare class because the name is already in use in D www test php on line 5 报错原因 该class 文件在其他引入
  • Tomcat控制台打印输出中文时的乱码问题

    这个问题我参考了许多网上的解决方法 这个方法是比较迅速与方便的 产生这个问题的原因是Windows默认编码集为GBK 由于使用startup bat启动Tomcat时 它会读取catalina bat的代码并打开一个新窗口运行 打开的cmd
  • 信号量详细解说

    1 信号量概述 进化版的互斥锁 1 gt N 由于互斥锁的粒度比较大 如果我们希望在多个线程间对某一对象的部分数据进行共享 使用互斥锁是没有办法实现的 只能将整个数据对象锁住 这样虽然达到了多线程操作共享数据时保证数据正确性的目的 却无形中
  • webdriver安装

    首先了解自己所需使用的浏览器 这里以谷歌浏览器为例 火狐 Edge安装方式相同 找相应webdriver即可 查看自己浏览器的版本 去官网找对应版本的webdriver 网址 http npm taobao org mirrors chro
  • SD3.0协议解读三

    SD卡功能描述 所有主机和SD卡间的通信都是由主机控制的 这和USB是一致的 例如 U盘并没有主动通知USB控制器的能力 USB鼠标也没有主动通知USB控制器的能力 当然 SD卡也是没有主动通知SD控制器的能力的 主机发送的命令有两种 一种
  • 几个开发模式

    瀑布模型 开发过程顺序进行 过程规范 有质量保证 但是不能够应对需求变化 更改代价较高 灵活性较低 V模型 基于瀑布模型 但是更强调测试过程 有质量保证 显示出不同层次上的测试方法 并且将测试阶段与开发阶段相联系 原型模型 主要解决核心问题
  • @RabbitListener起作用的原理

    一 前言 在spring中 定义rabbitMq的消费者可以相当方便 只需要在消息处理类或者类方法加上 RabbitListener注解 指定队列名称即可 如下代码 Component public class RabbitMqListen
  • STM32长时间工作后串口不能接收

    问题 记录一次STM32长时间工作后 串口不能正常接收数据 其他功能正常 场景简单描述 在某一个产品上STM32作为前面板的控制 有多个中断开启 大部分的中断级别为0 串口的中断级别为1 串口中断接收 普通方式发送 出现长时间工作之后串口不
  • 快速解决node-sass报错问题

    1 引言 由于项目中需要使用到node sass 因此怀疑我的环境出问题了 于是决定配置nvm让环境变得更加灵活 便于切换node的版本 2 直接开始 1 安装nvm 链接 https pan baidu com s 1Li4o34jB6o
  • 五人合伙最佳股份分配_5人合伙,4个人投资源,1人经营,股权应该如何划分?...

    最近一个客户找到股加加进行咨询 说 我们公司是做新媒体运营培训的 主要靠卖课和咨询服务 3个投资源的手上有很多大V 流量较大的平台这方面的资源 可以拉来业务 我负责经营 另一个出资的 打算投40万到公司 应该给他多少股份 其他四人都是兼职人
  • 【前端编辑器分析(markdown,富文本)】

    随着近几年markdown编辑器的流行 富文本编辑器不再是唯一选择 但是主体都是工具栏加编辑区的模式 1 markdown markdown使用格式标记语言编排内容 当你要修改文章某个地方的格式时 在该位置加入对应的格式符号即可 markd
  • Unable to connect to 127.0.0.1:6379 的解决办法

    问题 Unable to connect to 127 0 0 1 6379 解决办法 1 在redis的目录下输入cmd 2 redis server exe redis windows conf 不关闭窗口 3 然后在新开一个cmd窗口
  • 利用MOS管使电路供电电压稳定之后,降低供电电压的方法

    现在有一款产品需要1 005V高电压启动 0 903V低电压运行 这也是从低功耗的角度设计 下面电路就是利用一颗N沟道MOS管来实现上电瞬间输出高电压 核心板启动之后 输出低电压 SAR GPIO1引脚接的MCU 的GPIO口 先上data
  • MySQL之UPDATE与SELECT结合语法详解与实例

    第一种 语法 UPDATE table1 SET column1 SELECT column FROM table2 WHERE condition WHERE table1 column2 value 注 若不加where条件则是更新表中
  • 进度 060706-060724

    新进度从060706 开始 ESOE v0 2 进度记录 9 060724 内存泄漏降低到实用程度 测试例子100次刷新小于500k 不再优化 并加入析构机制 下一步工作整理说明书 8 在框架页面下出现严重的javascript内存泄漏问题
  • java 驼峰和下划线互相转换

    其实是很简单的正则表达式转换 直接上代码 驼峰转下划线 param str 目标字符串 return java lang String public static String humpToUnderline String str Stri