<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java獲取漢字拼音或拼音首字母

    Posted on 2012-04-18 21:58 myfavorite 閱讀(8482) 評論(8)  編輯  收藏
    在進(jìn)行模糊查詢時,經(jīng)常用到使用漢字拼音或者首字母進(jìn)行匹配查詢。以下是獲取漢字拼音或者首字母的java代碼實現(xiàn)
    package com;

    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;

    public class GetPinyin {

        /**
         * 得到 全拼
         * 
         * 
    @param src
         * 
    @return
         
    */
        public static String getPingYin(String src) {
            char[] t1 = null;
            t1 = src.toCharArray();
            String[] t2 = new String[t1.length];
            HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
            t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
            t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
            t3.setVCharType(HanyuPinyinVCharType.WITH_V);
            String t4 = "";
            int t0 = t1.length;
            try {
                for (int i = 0; i < t0; i++) {
                    // 判斷是否為漢字字符
                    if (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
                        t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
                        t4 += t2[0];
                    } else {
                        t4 += java.lang.Character.toString(t1[i]);
                    }
                }
                return t4;
            } catch (BadHanyuPinyinOutputFormatCombination e1) {
                e1.printStackTrace();
            }
            return t4;
        }

        /**
         * 得到中文首字母
         * 
         * 
    @param str
         * 
    @return
         
    */
        public static String getPinYinHeadChar(String str) {

            String convert = "";
            for (int j = 0; j < str.length(); j++) {
                char word = str.charAt(j);
                String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
                if (pinyinArray != null) {
                    convert += pinyinArray[0].charAt(0);
                } else {
                    convert += word;
                }
            }
            return convert;
        }

        /**
         * 將字符串轉(zhuǎn)移為ASCII碼
         * 
         * 
    @param cnStr
         * 
    @return
         
    */
        public static String getCnASCII(String cnStr) {
            StringBuffer strBuf = new StringBuffer();
            byte[] bGBK = cnStr.getBytes();
            for (int i = 0; i < bGBK.length; i++) {
                // System.out.println(Integer.toHexString(bGBK[i]&0xff));
                strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
            }
            return strBuf.toString();
        }

        public static void main(String[] args) {

            String cnStr = "戩浜";
            System.out.println(getPingYin(cnStr));
            System.out.println(getPinYinHeadChar(cnStr));
        }

    }
    pinyin4j-2.5.0.jar

    Feedback

    # re: Java獲取漢字拼音或拼音首字母[未登錄]  回復(fù)  更多評論   

    2013-07-16 14:57 by 張三
    張三

    # re: Java獲取漢字拼音或拼音首字母[未登錄]  回復(fù)  更多評論   

    2013-09-14 18:00 by aaa
    網(wǎng)上這么多就你這個靠譜了,,謝謝~~~

    # re: Java獲取漢字拼音或拼音首字母[未登錄]  回復(fù)  更多評論   

    2013-11-21 16:20 by aaa
    網(wǎng)上這么多,就你最靠譜了

    # re: Java獲取漢字拼音或拼音首字母[未登錄]  回復(fù)  更多評論   

    2014-01-14 09:53 by 張三
    等等等

    # re: Java獲取漢字拼音或拼音首字母[未登錄]  回復(fù)  更多評論   

    2014-01-14 14:44 by 匿名
    非常感謝

    # re: Java獲取漢字拼音或拼音首字母[未登錄]  回復(fù)  更多評論   

    2014-01-23 08:55 by 匿名
    不支持多音字

    # re: Java獲取漢字拼音或拼音首字母  回復(fù)  更多評論   

    2014-01-23 09:30 by myfavorite
    @匿名
    多音字這個還真不太好處理。你有什么好的方法?

    # re: Java獲取漢字拼音或拼音首字母  回復(fù)  更多評論   

    2014-03-20 23:07 by luo080428
    找了一晚上,就樓主的可以,在GBK還是UTF-8的編碼下都行,網(wǎng)上其他的方式只是在GBK編碼下可以。樓主好人,好人一生平安

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲中文字幕无码久久综合网| 免费播放一区二区三区| 成全视频免费高清 | 久久久久亚洲AV无码专区网站| 亚洲中文无码亚洲人成影院| 在线永久看片免费的视频| 久久精品国产亚洲av日韩| 午夜爽爽爽男女免费观看影院| 亚洲国产精品第一区二区| 最近2019中文字幕免费大全5| 亚洲高清视频在线播放| 福利免费观看午夜体检区| 亚洲娇小性色xxxx| 国产精品久免费的黄网站| 美女视频黄频a免费大全视频| 亚洲精品亚洲人成在线观看下载| 中文字幕的电影免费网站| 亚洲色成人中文字幕网站| 日韩免费高清大片在线| 亚洲国产成人精品无码区在线网站| 最近免费中文字幕大全视频| 麻豆安全免费网址入口| 亚洲午夜国产精品无码| 91在线老王精品免费播放| 中文字幕无码精品亚洲资源网久久| 日韩视频免费在线| 精品人妻系列无码人妻免费视频| 久久精品夜色国产亚洲av| 国产成人免费高清激情明星| 精品国产日韩亚洲一区在线| 国产亚洲AV夜间福利香蕉149| 最近2019年免费中文字幕高清| 亚洲精品无码av中文字幕| 国产成人综合亚洲亚洲国产第一页| 日韩精品无码专区免费播放| 亚洲第一街区偷拍街拍| 亚洲成AV人片在线播放无码| 好吊妞998视频免费观看在线| 永久免费无码网站在线观看个| 亚洲黄色高清视频| 亚洲Av无码乱码在线znlu|