1. 程式人生 > 程式設計 >java 根據漢字生成拼音全拼或拼音首字母的示例

java 根據漢字生成拼音全拼或拼音首字母的示例

1.情景展示

  java 根據中文生成對應的拼音

2.準備工作

  所需jar包:pinyin4j-2.5.0.jar  

3.解決方案

  導包

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

  程式碼實現

/**
* 根據漢字生成拼音全拼或拼音首字母
* @explain
* @author Marydon
* @creationTime 2020年5月14日下午4:26:30
* @version 1.0
* @since
* @email [email protected]
*/
public class GetPinyin {
/**
* 得到全拼
* @param str
* @return 全拼(小寫)
*/
public static String getPinYin(String str){
char t1[]=null;
t1=str.toCharArray();
String[] t2=new String[t1.length];
HanyuPinyinOutputFormat t3=new HanyuPinyinOutputFormat();
t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
t3.setVCharType(HanyuPinyinVCharType.WITH_V);
String t4="";
int t0=t1.length;
try {
for ( int i = 0; i < t0; i++ ) {
//是用來判斷是不是中文的一個條件,採用的是unicode編碼
if(Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")){
t2= PinyinHelper.toHanyuPinyinStringArray(t1[i],t3);
t4+=t2[0];
}else {
t4+=Character.toString(t1[i]);
}
}
return t4;
} catch ( BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination ) {
badHanyuPinyinOutputFormatCombination.printStackTrace();
}
return t4;
}

/**
* 得到漢字首字母的拼音
* @param str
* @return 拼音首字母(大寫)
*/
public static String getPinYinHeaderChar(String str){
String convert="";
for ( int i = 0; i < str.length(); i++ ) {
char word=str.charAt(i);
String[] pinYinArray=PinyinHelper.toHanyuPinyinStringArray(word);
if ( pinYinArray!=null ){
convert+=pinYinArray[0].charAt(0);
}else {
convert+=word;
}
}
return convert.toUpperCase();
}

  //測試
public static void main(String[] args) {
System.out.println(getPinYin("火影忍者Marydon"));
System.out.println(getPinYinHeaderChar("海賊王"));
}
}

4.效果展示 

java 根據漢字生成拼音全拼或拼音首字母的示例

以上就是java 根據漢字生成拼音全拼或拼音首字母的示例的詳細內容,更多關於Java 漢字生成拼音的資料請關注我們其它相關文章!