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("腳本之家測試結(jié)果:"); System.out.println("getAllLeter==" + getAllLeter("你好啊")); System.out.println("getFirstLeter==" + getFirstLeter("你好啊")); } }
運行結(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
在線中文漢字拼音對照轉(zhuǎn)換工具:
http://tools.jb51.net/transcoding/zh_pinyin
在線字母大小寫轉(zhuǎn)換工具:
http://tools.jb51.net/transcoding/upper
附:本例中使用到的net.sourceforge.pinyin4j包可點擊此處本站下載pinyin4j的jar包文件。
關(guān)于eclipse導(dǎo)入jar包的方法可參考本站http://chabaoo.cn/softjc/552873.html
更多關(guān)于java相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)組操作技巧總結(jié)》、《Java字符與字符串操作技巧總結(jié)》、《Java數(shù)學運算技巧總結(jié)》、《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》及《Java操作DOM節(jié)點技巧總結(jié)》
希望本文所述對大家java程序設(shè)計有所幫助。
相關(guān)文章
關(guān)于feign對x-www-form-urlencode類型的encode和decode問題
這篇文章主要介紹了關(guān)于feign對x-www-form-urlencode類型的encode和decode問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03mybatis攔截器實現(xiàn)數(shù)據(jù)權(quán)限項目實踐
本文主要介紹了mybatis攔截器實現(xiàn)數(shù)據(jù)權(quán)限項目實踐,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-06-06