zoukankan      html  css  js  c++  java
  • java汉字转拼音以及得到首字母通用方法

    1. [代码]PingYinUtil     
    package oa.common.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;
     
    /**
     * 拼音工具类
     * 
     * @author lsf
     */
    public class PingYinUtil {
        /**
         * 将字符串中的中文转化为拼音,其他字符不变
         * 
         * @param inputString
         * @return
         */
        public static String getPingYin(String inputString) {
            HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
            format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
            format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
            format.setVCharType(HanyuPinyinVCharType.WITH_V);
     
            char[] input = inputString.trim().toCharArray();
            String output = "";
     
            try {
                for (int i = 0; i < input.length; i++) {
                    if (java.lang.Character.toString(input[i]).matches("[\u4E00-\u9FA5]+")) {
                        String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);
                        output += temp[0];
                    } else
                        output += java.lang.Character.toString(input[i]);
                }
            } catch (BadHanyuPinyinOutputFormatCombination e) {
                e.printStackTrace();
            }
            return output;
        }
        /**  
         * 获取汉字串拼音首字母,英文字符不变  
         * @param chinese 汉字串  
         * @return 汉语拼音首字母  
         */  
        public static String getFirstSpell(String chinese) {   
                StringBuffer pybf = new StringBuffer();   
                char[] arr = chinese.toCharArray();   
                HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();   
                defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
                defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
                for (int i = 0; i < arr.length; i++) {   
                        if (arr[i] > 128) {   
                                try {   
                                        String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);   
                                        if (temp != null) {   http://www.huiyi8.com/clxgt/
                                                pybf.append(temp[0].charAt(0));   
                                        }   窗帘效果图
                                } catch (BadHanyuPinyinOutputFormatCombination e) {   
                                        e.printStackTrace();   
                                }   
                        } else {   
                                pybf.append(arr[i]);   
                        }   
                }   
                return pybf.toString().replaceAll("\W", "").trim();   
        }   
        /**  
         * 获取汉字串拼音,英文字符不变  
         * @param chinese 汉字串  
         * @return 汉语拼音  
         */  
        public static String getFullSpell(String chinese) {   
                StringBuffer pybf = new StringBuffer();   
                char[] arr = chinese.toCharArray();   
                HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();   
                defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
                defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
                for (int i = 0; i < arr.length; i++) {   
                        if (arr[i] > 128) {   
                                try {   
                                        pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);   
                                } catch (BadHanyuPinyinOutputFormatCombination e) {   
                                        e.printStackTrace();   
                                }   
                        } else {   
                                pybf.append(arr[i]);   
                        }   
                }   
                return pybf.toString();   
        }  
    }  

  • 相关阅读:
    SharePoint 2013 APP 开发示例 (六)服务端跨域访问 Web Service (REST API)
    麦咖啡导致电脑不能上网
    SharePoint 2013 Central Admin 不能打开
    SharePoint 2013 APP 开发示例 (五)跨域访问 Web Service (REST API)
    SharePoint 2013 APP 开发示例 系列
    synthesize(合成) keyword in IOS
    Git Cmd
    简单的正则匹配
    Dropbox
    SQL Server Replication
  • 原文地址:https://www.cnblogs.com/xkzy/p/3915045.html
Copyright © 2011-2022 走看看