Java字符串驼峰与下换线格式转换如何实现

作者:羊37 时间:2022-02-18 09:56:14 

下面是自己写的三个方法,直接类名.方法即可调用,注意此处未做异常处理.

1.下划线转驼峰 lowerLineToHump()

2.首字母大写 capitalizeTheFirstLetter()

3.驼峰转下划线 humpToLowerLine()


package yang.demo.justwrite;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
* @Description: 变量名转换
* @Class: VariableNameConversion
* @Author: Yiang37
* @Date: 2020/11/3 15:23
* @Version: 1.0
*/
public class VariableNameConversion {

private static Pattern humpPattern = Pattern.compile("[A-Z]");

public static void main(String[] args) {

System.out.println(lowerLineToHump("NAME_AND_addREsS"));
   System.out.println(capitalizeTheFirstLetter("nAMe"));
   System.out.println(humpToLowerLine("nameAndAddress"));

}

/**
  * @Description: 下划线格式 -> 驼峰 大小写均可
  * <p>
  * NAME_AND_ADDRESS -> nameAndAddress
  * @Author: Yiang37
  * @Date: 2020/11/03 15:26:02
  * @Version: 1.0
  * @method: lowerLineAndUppercaseToHump()
  * @param: [Big_]
  * @return: java.lang.String
  */
 public static String lowerLineToHump(String lowerLineAndUppercaseStr) {
   //拆分成数组
   String[] eachStr = lowerLineAndUppercaseStr.split("_");
   StringBuilder resStr = new StringBuilder();
   String firstStr = "";
   String tempStr = "";
   for (int i = 0; i < eachStr.length; i++) {
     //第一个数组全部小写
     if (i == 0) {
       firstStr = eachStr[0].toLowerCase();
       resStr.append(firstStr);
     } else {
       //以后的数组首字母大写
       tempStr = capitalizeTheFirstLetter(eachStr[i]);
       resStr.append(tempStr);
     }
   }

return resStr.toString();
 }

/**
  * @Description: 任意字符串 -> 首字母大写
  * NAME -> Name
  * name -> Name
  * NaMe -> Name
  * @Author: Yiang37
  * @Date: 2020/11/03 16:50:16
  * @Version: 1.0
  * @method: capitalizeTheFirstLetter()
  * @param: [str]
  * @return: java.lang.String
  */
 public static String capitalizeTheFirstLetter(String str) {
   char firstChar = str.toUpperCase().charAt(0);
   String nextStr = str.toLowerCase().substring(1);
   return firstChar + nextStr;
 }

/**
  * @Description: 驼峰 -> 下划线格式 默认小写,存在第二个形参且为true时大写.
  * @Author: Yiang37
  * @Date: 2020/11/03 17:10:25
  * @Version: 1.0
  * @method: humpToLowerLine()
  * @param: [humpStr, UppercaseZeroAndLowercaseOne]
  * @return: java.lang.String
  */
 public static String humpToLowerLine(String humpStr, boolean ... defaultUppercaseAndTrueLowercase) {
   Matcher matcher = humpPattern.matcher(humpStr);
   StringBuffer sb = new StringBuffer();
   while (matcher.find()) {
     matcher.appendReplacement(sb, "_" + matcher.group(0).toLowerCase());
   }
   matcher.appendTail(sb);

//如果第二个形参为true 转为大写
   if (defaultUppercaseAndTrueLowercase.length>=1 && defaultUppercaseAndTrueLowercase[0]){
     return sb.toString().toUpperCase();
   }
   return sb.toString();
 }

}

输出结果

nameAndAddress
Name
name_and_address

来源:https://www.cnblogs.com/yang37/p/13921957.html

标签:Java,字符串,驼峰,下换线,格式,转换
0
投稿

猜你喜欢

  • Java 超详细讲解IO操作字节流与字符流

    2022-04-28 20:09:57
  • unity实现鼠标跟随(ITween)

    2021-09-26 00:01:43
  • SpringMVC @RequestBody出现400 Bad Request的解决

    2021-10-18 11:50:50
  • C# 添加、修改和删除PDF书签的实例代码

    2022-09-24 06:45:55
  • interrupt()和线程终止方式_动力节点Java学院整理

    2021-09-27 08:50:53
  • C++ lambda函数详解

    2023-06-20 07:49:43
  • Spring Cloud Gateway不同频率限流的解决方案(每分钟,每小时,每天)

    2023-01-05 13:49:34
  • Springboot引入hibernate配置自动建表并进行增删改查操作

    2021-08-30 06:17:02
  • Java 静态代理与动态 代理解析

    2023-08-22 17:18:19
  • 详解Eclipse 字体、字号的设置、最佳字体推荐

    2023-11-26 12:25:32
  • java 接口回调实例详解

    2023-11-19 15:44:24
  • 新手初学Java流程控制

    2023-08-23 08:12:34
  • 教你用Java GUI实现文本文件的读写

    2023-05-25 06:47:13
  • 详解Java后端优雅验证参数合法性

    2021-09-06 16:07:22
  • C#实现在Form里面内嵌dos窗体的方法

    2022-04-27 07:13:07
  • SpringBoot配置文件中密码属性加密的实现

    2022-07-08 18:32:03
  • java fastdfs客户端使用实例代码

    2022-11-19 05:35:59
  • Servlet实现文件的上传与下载

    2023-08-08 06:13:43
  • Java 实现并发的几种方式小结

    2022-10-23 02:54:46
  • Java封装公共Result结果返回类的实现

    2023-06-17 08:47:47
  • asp之家 软件编程 m.aspxhome.com