• 项目笔记:中文转拼音工具类


    package com.vrv.cems.utils;
    
    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 ChineseToPinyin {
    
        // 将汉字转换为全拼  
        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]);  
                }  
                // System.out.println(t4);  
                return t4;  
            } catch (BadHanyuPinyinOutputFormatCombination e1) {  
                e1.printStackTrace();  
            }  
            return t4;  
        }  
      
        // 返回中文的首字母  
        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;  
        }  
      
        // 将字符串转移为ASCII码  
        public static String getCnASCII(String cnStr) {  
            StringBuffer strBuf = new StringBuffer();  
            byte[] bGBK = cnStr.getBytes();  
            for (int i = 0; i < bGBK.length; i++) {  
                strBuf.append(Integer.toHexString(bGBK[i] & 0xff));  
            }  
            return strBuf.toString();  
        }  
      
       public static void main(String[] args) {  
            System.out.println(getPingYin("缪洪波"));  
            System.out.println(getPinYinHeadChar("綦江县"));  
            System.out.println(getCnASCII("綦江县"));  
        } 
    }
  • 相关阅读:
    一个SQL语句实现的统计功能
    VS2005中的全角BUG(C#代码)[转]
    Observer Pattern(观察者模式)及其在C#中的实现
    我觉得VS2003中最差的地方
    上班了,有点困:(
    GPRS
    今天是郁闷的一天
    今天上午给公司老总演示了SharePoint项目的产品雏形
    介绍一下SharePoint
    SharePoint Service里面的东东真让人头疼
  • 原文地址:https://www.cnblogs.com/goloving/p/7844474.html
Copyright © 2020-2023  润新知