zoukankan      html  css  js  c++  java
  • java汉字转拼音,使用pingyin4j

    使用了两个库一个是pingying4j的jar包,

    另一个是Apache common lang的jar包,

    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package chinese2pinyin;

    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;
    import org.apache.commons.lang.StringUtils;

    /**
     *
     * @author Administrator
     */
    public class Chinese2pinyin {

        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) throws BadHanyuPinyinOutputFormatCombination {
                HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();

                // fix case type to lowercase firstly, change VChar and Tone
                // combination
                outputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);

                // WITH_U_AND_COLON and WITH_TONE_NUMBER
                outputFormat.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);
                outputFormat.setToneType(HanyuPinyinToneType.WITH_TONE_NUMBER);
                // WITH_V and WITHOUT_TONE
                outputFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
                outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
                String[] arrs=new String[]{"强","东","李"};
                for(String a:arrs)
                {
    //            String a="强强";
    //            System.out.println(a.length());
                System.out.println(a);
                for(int i=0;i<a.length();i++){
    //                System.out.println(i);
    //                System.out.println(a.charAt(i));
    //                System.out.println(PinyinHelper.toHanyuPinyinStringArray('吕', outputFormat)[0]);
                    System.out.print(PinyinHelper.toHanyuPinyinStringArray(a.charAt(i), outputFormat)[0]);
                }
                System.out.println("");
                }
        }
    }

    以上代码临时使用,以后还是要做成python包才能复用

  • 相关阅读:
    [BZOJ3829][Poi2014]FarmCraft 贪心
    【BZOJ 3144】 [Hnoi2013]切糕 真·最小割
    【BZOJ1458】士兵占领 最大流的模板题
    【COGS 14】 [网络流24题] 搭配飞行员 网络流板子题
    【BZOJ 4832】 [Lydsy2017年4月月赛] 抵制克苏恩 期望概率dp
    【BZOJ4325】NOIP2015 斗地主 搜索+贪心
    【BZOJ 1409】 Password 数论(扩展欧拉+矩阵快速幂+快速幂)
    【NOIP模拟赛】天神下凡 动态开点线段树
    【NOIP模拟赛】藏宝图 最小生成树
    【NOIP模拟赛】黑红树 期望概率dp
  • 原文地址:https://www.cnblogs.com/lexus/p/2419287.html
Copyright © 2011-2022 走看看