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
投稿
猜你喜欢
Android Touch事件分发过程详解
2021-08-28 20:11:33
浅析Java的Hibernate框架中的缓存和延迟加载机制
2023-04-12 15:58:00
Android中LayoutInflater.inflater()的正确打开方式
2022-04-12 16:25:57
Android中实现iOS中的毛玻璃效果
2023-01-27 01:44:14
Feign如何实现第三方的HTTP请求
2023-06-10 16:20:20
Java中用enum结合testng实现数据驱动的方法示例
2021-08-04 07:44:21
Unity3D使用右键菜单打开工程
2023-07-18 05:08:46
Java 线程的生命周期完整实例分析
2023-06-27 12:52:26
java二叉树的几种遍历递归与非递归实现代码
2022-06-29 19:19:47
jdk自带线程池实例详解
2022-05-14 02:04:56
利用Thumbnailator轻松实现图片缩放、旋转与加水印
2022-03-26 18:44:04
SpringSecurity实现访问控制url匹配
2021-11-03 00:18:16
Android实现多个连续带数字圆圈效果
2021-09-10 02:46:23
JAVA JDK8 List分组的实现和用法
2023-11-26 09:56:11
Spring启动过程中实例化部分代码的分析之Bean的推断构造方法
2022-08-26 02:00:07
Unity3d实现Flappy Bird游戏
2023-09-17 20:54:29
Android控件CardView实现卡片布局
2022-12-05 02:10:32
JAVA递归生成树形菜单的实现过程
2023-07-15 08:57:22
JAVA swing布局管理器实例解析
2022-01-11 05:05:15
C#使用itextsharp生成PDF文件的实现代码
2022-05-18 03:21:27