Java文字列のラクダ峰と下の線のフォーマットを変えてどのように実現しますか?
以下は自分で書く三つの方法で、直接類名で、方法は呼び出せます。ここでは異常処理がされていません。
1.下線を引いてラクダのピークを回転するlowere ToHump()
2.イニシャル大文字capitalize First Letter()
3.ラクダの峰が下線を引くhmpToLowerLine()
name AndAddres
Name
name_and_address
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。
1.下線を引いてラクダのピークを回転するlowere ToHump()
2.イニシャル大文字capitalize First Letter()
3.ラクダの峰が下線を引くhmpToLowerLine()
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();
}
}
出力結果name AndAddres
Name
name_and_address
以上が本文の全部です。皆さんの勉強に役に立つように、私たちを応援してください。