Java字符串駝峰與下?lián)Q線格式轉(zhuǎn)換如何實(shí)現(xiàn)
下面是自己寫的三個(gè)方法,直接類名.方法即可調(diào)用,注意此處未做異常處理.
1.下劃線轉(zhuǎn)駝峰 lowerLineToHump()
2.首字母大寫 capitalizeTheFirstLetter()
3.駝峰轉(zhuǎn)下劃線 humpToLowerLine()
package yang.demo.justwrite;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @Description: 變量名轉(zhuǎn)換
* @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) {
//拆分成數(shù)組
String[] eachStr = lowerLineAndUppercaseStr.split("_");
StringBuilder resStr = new StringBuilder();
String firstStr = "";
String tempStr = "";
for (int i = 0; i < eachStr.length; i++) {
//第一個(gè)數(shù)組全部小寫
if (i == 0) {
firstStr = eachStr[0].toLowerCase();
resStr.append(firstStr);
} else {
//以后的數(shù)組首字母大寫
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: 駝峰 -> 下劃線格式 默認(rèn)小寫,存在第二個(gè)形參且為true時(shí)大寫.
* @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);
//如果第二個(gè)形參為true 轉(zhuǎn)為大寫
if (defaultUppercaseAndTrueLowercase.length>=1 && defaultUppercaseAndTrueLowercase[0]){
return sb.toString().toUpperCase();
}
return sb.toString();
}
}
輸出結(jié)果
nameAndAddress
Name
name_and_address
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Java字符串格式化,{}占位符根據(jù)名字替換實(shí)例
- Java 格式化輸出JSON字符串的2種實(shí)現(xiàn)操作
- java轉(zhuǎn)換字符串編碼格式的方法
- FastJson對(duì)于JSON格式字符串、JSON對(duì)象及JavaBean之間的相互轉(zhuǎn)換操作
- Java class文件格式之特殊字符串_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- json-lib將json格式的字符串,轉(zhuǎn)化為java對(duì)象的實(shí)例
- JAVA字符串格式化-String.format()的使用
- java & Android 格式化字符串詳解
- Java生成和解析XML格式文件和字符串的實(shí)例代碼
- java字符串與格式化輸出的深入分析
相關(guān)文章
IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟(圖文)
本文主要介紹了IDEA 中創(chuàng)建并部署 JavaWeb 程序的方法步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
Request的包裝類HttpServletRequestWrapper的使用說明
這篇文章主要介紹了Request的包裝類HttpServletRequestWrapper的使用說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
spring中@Bean和@Component的區(qū)別及說明
文章主要介紹了@Bean和@Component兩個(gè)注解在Spring框架中的定義、作用范圍、創(chuàng)建方式、掃描和識(shí)別機(jī)制以及使用場(chǎng)景和建議2024-12-12
Spring boot actuator端點(diǎn)啟用和暴露操作
這篇文章主要介紹了Spring boot actuator端點(diǎn)啟用和暴露操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
解決Java字符串JSON轉(zhuǎn)換異常:cn.hutool.json.JSONException:?Mismatched?
這篇文章主要給大家介紹了關(guān)于如何解決Java字符串JSON轉(zhuǎn)換異常:cn.hutool.json.JSONException:?Mismatched?hr?and?body的相關(guān)資料,文中將解決的辦法通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01
Spring中ApplicationListener的使用解析
這篇文章主要介紹了Spring中ApplicationListener的使用解析,ApplicationContext事件機(jī)制是觀察者設(shè)計(jì)模式的實(shí)現(xiàn),通過ApplicationEvent類和ApplicationListener接口,需要的朋友可以參考下2023-12-12

