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包才能复用

  • 相关阅读:
    A. Generous Kefa
    1031 骨牌覆盖
    1074 约瑟夫环 V2
    1073 约瑟夫环
    1562 玻璃切割
    Ants
    1024 矩阵中不重复的元素
    1014 X^2 Mod P
    1135 原根
    1010 只包含因子2 3 5的数
  • 原文地址:https://www.cnblogs.com/lexus/p/2419287.html
Copyright © 2011-2022 走看看