导入需要的Maven依赖
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
创建util包
1、为了更好的代码管理,尽量将这些重复的代码解耦出来,封装成一个静态工具类,随用随调
public class ToUpperCase {
private static final Pattern p = Pattern.compile("[\u4e00-\u9fa5]");
public static String getWhetherChinese(String str){
Matcher m = p.matcher(str);
if(m.find()){
return getUppercaseImp(str);
}else{
return str;
}
}
public static String getUppercaseImp(String str){
StringBuilder convert = new StringBuilder();
for (int j = 0; j < str.length(); j++) {
char word = str.charAt(j);
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null) {
convert.append(pinyinArray[0].charAt(0));
} else {
convert.append(word);
}
}
return convert.toString().toUpperCase();
}
}
测试类
public class StringUppercase {
public static void main(String[] args) {
String str1 = "一夜看尽长安花";
System.out.println(ToUpperCase.getWhetherChinese(str1));
}
}