zoukankan      html  css  js  c++  java
  • 项目笔记:中文转拼音工具类

    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("綦江县"));  
        } 
    }
  • 相关阅读:
    linux基础学习-6.4-Linux无法上网排查流程
    [JSOI2007][BZOJ1029] 建筑抢修
    [HNOI2003][BZOJ1216] 操作系统
    [Apio2009][BZOJ1179] Atm
    [Tjoi2013][BZOJ3172] 单词
    AC自动机学习笔记
    [转]一个比较通俗的KMP算法讲解
    [HAOI2008][BZOJ1042] 硬币购物
    [NOI2007][BZOJ1491] 社交网络
    [SCOI2009][BZOJ1295] 最长距离
  • 原文地址:https://www.cnblogs.com/goloving/p/7844474.html
Copyright © 2011-2022 走看看