qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請(qǐng)?jiān)L問 http://qaseven.github.io/

          Java實(shí)現(xiàn)將漢字轉(zhuǎn)為拼音

          有時(shí)候?yàn)榱朔奖悴僮鞒绦虻拈_發(fā),需要將漢字轉(zhuǎn)為拼音等操作。下面這個(gè)是自己結(jié)合網(wǎng)上的資料,加上自己在公司項(xiàng)目中的親自實(shí)踐。完整的實(shí)現(xiàn)了將漢字轉(zhuǎn)為拼音的操作。這個(gè)Demo只是負(fù)責(zé)將其轉(zhuǎn)換,在main方法中測(cè)試,在實(shí)際需要中,只需要調(diào)用這個(gè)類中的方法即可。
            首先貼出測(cè)試結(jié)果:
            測(cè)試參數(shù):
            漢字轉(zhuǎn)換為拼音
            漢字轉(zhuǎn)換為拼音
            main測(cè)試方法的代碼:
            1 public static void main(String[] args) {
            2         System.out.println(ToFirstChar("漢字轉(zhuǎn)換為拼音").toUpperCase()); //轉(zhuǎn)為首字母大寫
            3         System.out.println(ToPinyin("漢字轉(zhuǎn)換為拼音"));
            4     }
            本功能的實(shí)現(xiàn)時(shí)利用java開源庫(kù),開發(fā)此程序需要一個(gè)jar包。本人用的是pinyin4j-2.5.0.jar。網(wǎng)上可以直接下載,也可以在其官網(wǎng)進(jìn)行下載。在此不祥述。如果實(shí)在不樂意,可以點(diǎn)擊下載將進(jìn)行這個(gè)jar包的下載。
          貼出實(shí)現(xiàn)該Demo的源碼:
          1 package com.red.test;
          2
          3 import net.sourceforge.pinyin4j.PinyinHelper;
          4 import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
          5 import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
          6 import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
          7 import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
          8
          9 /**
          10  * 漢字轉(zhuǎn)換為拼音
          11  * @author Red
          12  */
          13 public class PinyinDemo {
          14     /**
          15      * 測(cè)試main方法
          16      * @param args
          17      */
          18     public static void main(String[] args) {
          19         System.out.println(ToFirstChar("漢字轉(zhuǎn)換為拼音").toUpperCase()); //轉(zhuǎn)為首字母大寫
          20         System.out.println(ToPinyin("漢字轉(zhuǎn)換為拼音"));
          21     }
          22     /**
          23      * 獲取字符串拼音的第一個(gè)字母
          24      * @param chinese
          25      * @return
          26      */
          27     public static String ToFirstChar(String chinese){
          28         String pinyinStr = "";
          29         char[] newChar = chinese.toCharArray();  //轉(zhuǎn)為單個(gè)字符
          30         HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
          31         defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
          32         defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
          33         for (int i = 0; i < newChar.length; i++) {
          34             if (newChar[i] > 128) {
          35                 try {
          36                     pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0].charAt(0);
          37                 } catch (BadHanyuPinyinOutputFormatCombination e) {
          38                     e.printStackTrace();
          39                 }
          40             }else{
          41                 pinyinStr += newChar[i];
          42             }
          43         }
          44         return pinyinStr;
          45     }
          46
          47     /**
          48      * 漢字轉(zhuǎn)為拼音
          49      * @param chinese
          50      * @return
          51      */
          52     public static String ToPinyin(String chinese){
          53         String pinyinStr = "";
          54         char[] newChar = chinese.toCharArray();
          55         HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
          56         defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
          57         defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
          58         for (int i = 0; i < newChar.length; i++) {
          59             if (newChar[i] > 128) {
          60                 try {
          61                     pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0];
          62                 } catch (BadHanyuPinyinOutputFormatCombination e) {
          63                     e.printStackTrace();
          64                 }
          65             }else{
          66                 pinyinStr += newChar[i];
          67             }
          68         }
          69         return pinyinStr;
          70     }
          71 }

          posted on 2014-11-03 09:22 順其自然EVO 閱讀(201) 評(píng)論(0)  編輯  收藏 所屬分類: 測(cè)試學(xué)習(xí)專欄

          <2014年11月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          30123456

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 贡山| 自治县| 淄博市| 城固县| 张家口市| 阜南县| 石景山区| 灵宝市| 辽源市| 江川县| 康平县| 江油市| 北川| 辽宁省| 习水县| 临洮县| 余姚市| 祁门县| 六安市| 瑞昌市| 巢湖市| 漳州市| 泗洪县| 平乡县| 宝鸡市| 汨罗市| 库伦旗| 石泉县| 萍乡市| 鄂托克旗| 湄潭县| 明水县| 理塘县| 涡阳县| 新龙县| 永吉县| 平远县| 定边县| 武乡县| 浙江省| 万安县|