zoukankan      html  css  js  c++  java
  • java文字转成拼音

    package com.jframe.kit;

    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.exception.BadHanyuPinyinOutputFormatCombination;

    /**
     * 汉字转换位汉语拼音,英文字符不变
     * @author xuke
     *
     */
    public class Cn2SpellKit {
     
        /**
        * 汉字转换位汉语拼音首字母,英文字符不变
        * @param chines 汉字
        * @return 拼音
        */
        public static String converterToFirstSpell(String chines){     
            String pinyinName = "";
            char[] nameChar = chines.toCharArray();
            HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
            defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
            defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
            for (int i = 0; i < nameChar.length; i++) {
                if (nameChar[i] > 128) {
                    try {
                        pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
                    } catch (BadHanyuPinyinOutputFormatCombination e) {
                        e.printStackTrace();
                    }
                }else{
                 pinyinName += nameChar[i];
                }
            }
            return pinyinName;
        }
     
        /**
        * 汉字转换位汉语拼音,英文字符不变
        * @param chines 汉字
        * @return 拼音
        */
        public static String converterToSpell(String chines){     
            String pinyinName = "";
            char[] nameChar = chines.toCharArray();
            HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
            defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
            defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
            for (int i = 0; i < nameChar.length; i++) {
                if (nameChar[i] > 128) {
                    try {
                        pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];
                    } catch (BadHanyuPinyinOutputFormatCombination e) {
                        e.printStackTrace();
                    }
                }else{
                 pinyinName += nameChar[i];
                }
            }
            return pinyinName;
        }
       
        public static String spell(String name){
         String pinyinName = "";
         if(name!=null && !"".equals(name)){
          if(name.length()<=2){
           pinyinName = converterToSpell(name);
          }else{
              pinyinName = converterToSpell(name.substring(0,1))+converterToFirstSpell(name.substring(1,name.length()));
             }
         }
         return pinyinName;
        }
       
        public static void main(String[] args) {
         
         System.out.println(spell("杨成"));
      System.out.println(spell("王帅(小)").toUpperCase());
     }
    }

    必须pinyin4j-2.5.0.jar

    版权声明:本文博客原创文章,博客,未经同意,不得转载。

  • 相关阅读:
    教你如何剖析源码
    Java 简介
    java 入门-helloWorld
    linux yum 命令
    Linux vi/vim
    Linux 磁盘管理
    Linux 用户和用户组管理
    Linux 文件与目录管理
    Linux 文件基本属性
    Linux安装Mysql
  • 原文地址:https://www.cnblogs.com/hrhguanli/p/4630755.html
Copyright © 2011-2022 走看看