Java實現(xiàn)的漢語拼音工具類完整實例
本文實例講述了Java實現(xiàn)的漢語拼音工具類。分享給大家供大家參考,具體如下:
package test;
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;
/**
* 漢語拼音工具類
* Created by charlin on 2017/9/3.
*/
public class PingYinUtil {
/**
* 獲得所有拼音字母
* @param args
* @return
*/
public static String getAllLeter(String args) {
String result = "";
char[] charArray = args.toCharArray();
String[] strArr = new String[charArray.length];
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
int len = charArray.length;
for (int i = 0; i <len ; i++) {
try {
strArr = PinyinHelper.toHanyuPinyinStringArray(charArray[i], format);
if (strArr == null){
result += charArray[i];
}else {
result += strArr[0];
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
return result;
}
/**
* 獲得每個漢字的首字母
* @param args
* @return
*/
public static String getFirstLeter(String args) {
String result = "";
char[] charArray = args.toCharArray();
String[] strArr = new String[charArray.length];
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
int len = charArray.length;
for (int i = 0; i <len ; i++) {
try {
strArr = PinyinHelper.toHanyuPinyinStringArray(charArray[i], format);
if (strArr == null){
result += charArray[i];
}else {
result += strArr[0].substring(0,1);
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
return result;
}
public static void main(String[] args) {
System.out.println("腳本之家測試結果:");
System.out.println("getAllLeter==" + getAllLeter("你好啊"));
System.out.println("getFirstLeter==" + getFirstLeter("你好啊"));
}
}
運行結果:

PS:這里再為大家提供幾款本站拼音與字母相關工具供大家參考:
在線中英文根據(jù)首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu
在線漢字轉換成拼音工具:
http://tools.jb51.net/transcoding/pinyin
在線中文漢字轉拼音工具:
http://tools.jb51.net/transcoding/hanzi2pinyin
在線中文漢字拼音對照轉換工具:
http://tools.jb51.net/transcoding/zh_pinyin
在線字母大小寫轉換工具:
http://tools.jb51.net/transcoding/upper
附:本例中使用到的net.sourceforge.pinyin4j包可點擊此處本站下載pinyin4j的jar包文件。
關于eclipse導入jar包的方法可參考本站http://www.dhdzp.com/softjc/552873.html
更多關于java相關內容感興趣的讀者可查看本站專題:《Java數(shù)組操作技巧總結》、《Java字符與字符串操作技巧總結》、《Java數(shù)學運算技巧總結》、《Java數(shù)據(jù)結構與算法教程》及《Java操作DOM節(jié)點技巧總結》
希望本文所述對大家java程序設計有所幫助。
相關文章
RestTemplate響應中如何獲取輸入流InputStream
這篇文章主要介紹了RestTemplate響應中如何獲取輸入流InputStream問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
淺談關于Java正則和轉義中\(zhòng)\和\\\\的理解
這篇文章主要介紹了淺談關于Java正則和轉義中\(zhòng)\和\\\\的理解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-08-08
Spring MVC前后端的數(shù)據(jù)傳輸?shù)膶崿F(xiàn)方法
這篇文章主要介紹了Spring MVC前后端的數(shù)據(jù)傳輸?shù)膶崿F(xiàn)方法,需要的朋友可以參考下2017-10-10

