Java實(shí)現(xiàn)的漢語(yǔ)拼音工具類完整實(shí)例
本文實(shí)例講述了Java實(shí)現(xiàn)的漢語(yǔ)拼音工具類。分享給大家供大家參考,具體如下:
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;
/**
* 漢語(yǔ)拼音工具類
* 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("腳本之家測(cè)試結(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://m.fzitv.net/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ì)有所幫助。
- Java獲取中文拼音、中文首字母縮寫和中文首字母的示例
- java獲取中文拼音首字母的實(shí)例
- java中文轉(zhuǎn)拼音工具類詳解
- java中將漢字轉(zhuǎn)換成拼音的實(shí)現(xiàn)代碼
- Java獲取漢字拼音的全拼和首拼實(shí)現(xiàn)代碼分享
- Java獲取漢字對(duì)應(yīng)的拼音(全拼或首字母)
- Java實(shí)現(xiàn)將漢字轉(zhuǎn)化為漢語(yǔ)拼音的方法
- Java中漢字轉(zhuǎn)拼音pinyin4j用法實(shí)例分析
- Java漢字轉(zhuǎn)成漢語(yǔ)拼音工具類
- java獲取中文拼音首字母工具類定義與用法實(shí)例
相關(guān)文章
詳解Spring MVC自動(dòng)為對(duì)象注入枚舉類型
本篇文章主要介紹了Spring MVC自動(dòng)為對(duì)象注入枚舉類型,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-04-04
RestTemplate響應(yīng)中如何獲取輸入流InputStream
這篇文章主要介紹了RestTemplate響應(yīng)中如何獲取輸入流InputStream問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-01-01
淺談關(guān)于Java正則和轉(zhuǎn)義中\(zhòng)\和\\\\的理解
這篇文章主要介紹了淺談關(guān)于Java正則和轉(zhuǎn)義中\(zhòng)\和\\\\的理解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-08-08
Java適配器模式之如何靈活應(yīng)對(duì)不匹配的接口
本文介紹了Java中的適配器模式,包括對(duì)象適配器模式和接口適配器模式,適配器模式通過(guò)將一個(gè)類的接口轉(zhuǎn)換成客戶期望的另一個(gè)接口,解決了不同接口之間的不兼容問(wèn)題,它提高了系統(tǒng)的靈活性、復(fù)用性和解耦性,需要的朋友可以參考下2024-10-10
Java線程中的Thread.yield()詳細(xì)解析
這篇文章主要介紹了Java線程中的Thread.yield()詳細(xì)解析,yield()讓當(dāng)前線程從運(yùn)行狀態(tài)?轉(zhuǎn)為?就緒狀態(tài),以允許具有相同優(yōu)先級(jí)的其他線程獲得運(yùn)行機(jī)會(huì),需要的朋友可以參考下2023-11-11
Spring MVC前后端的數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方法
這篇文章主要介紹了Spring MVC前后端的數(shù)據(jù)傳輸?shù)膶?shí)現(xiàn)方法,需要的朋友可以參考下2017-10-10

