Java實(shí)現(xiàn)的漢語拼音工具類完整實(shí)例
本文實(shí)例講述了Java實(shí)現(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;
}
/**
* 獲得每個(gè)漢字的首字母
* @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("腳本之家測試結(jié)果:");
System.out.println("getAllLeter==" + getAllLeter("你好啊"));
System.out.println("getFirstLeter==" + getFirstLeter("你好啊"));
}
}
運(yùn)行結(jié)果:

PS:這里再為大家提供幾款本站拼音與字母相關(guān)工具供大家參考:
在線中英文根據(jù)首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu
在線漢字轉(zhuǎn)換成拼音工具:
http://tools.jb51.net/transcoding/pinyin
在線中文漢字轉(zhuǎn)拼音工具:
http://tools.jb51.net/transcoding/hanzi2pinyin
在線中文漢字拼音對(duì)照轉(zhuǎn)換工具:
http://tools.jb51.net/transcoding/zh_pinyin
在線字母大小寫轉(zhuǎn)換工具:
http://tools.jb51.net/transcoding/upper
附:本例中使用到的net.sourceforge.pinyin4j包可點(diǎn)擊此處本站下載pinyin4j的jar包文件。
關(guān)于eclipse導(dǎo)入jar包的方法可參考本站http://www.dbjr.com.cn/softjc/552873.html
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)組操作技巧總結(jié)》、《Java字符與字符串操作技巧總結(jié)》、《Java數(shù)學(xué)運(yùn)算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》及《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
關(guān)于feign對(duì)x-www-form-urlencode類型的encode和decode問題
這篇文章主要介紹了關(guān)于feign對(duì)x-www-form-urlencode類型的encode和decode問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03
Mybatis詳解在注解sql時(shí)報(bào)錯(cuò)的解決方法
MyBatis-Plus 是一個(gè) Mybatis 增強(qiáng)版工具,在 MyBatis 上擴(kuò)充了其他功能沒有改變其基本功能,為了簡化開發(fā)提交效率而存在,本篇文章帶你看看在注解sql時(shí)所報(bào)出的錯(cuò)誤解決2022-03-03
Java實(shí)現(xiàn)一個(gè)簡單計(jì)算器
這篇文章主要介紹了Java實(shí)現(xiàn)一個(gè)簡單計(jì)算器,文章我圍繞實(shí)現(xiàn)簡單計(jì)算器的相關(guān)代碼展現(xiàn)全文,具有一定的參考價(jià)值,需要的小伙伴可以參考一下,2022-01-01
mybatis攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限項(xiàng)目實(shí)踐
本文主要介紹了mybatis攔截器實(shí)現(xiàn)數(shù)據(jù)權(quán)限項(xiàng)目實(shí)踐,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-06-06
java使用gzip實(shí)現(xiàn)文件解壓縮示例
這篇文章主要介紹了java使用gzip實(shí)現(xiàn)文件解壓縮示例,需要的朋友可以參考下2014-03-03
Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例
這篇文章主要介紹了Java實(shí)現(xiàn)用Mysql存取圖片操作實(shí)例,本文講解了使用BLOB類型保存和讀取圖片的代碼實(shí)例,需要的朋友可以參考下2015-06-06

