Java提取汉字的拼音详解编程语言

    import java.io.PrintStream;   
    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;   
       
    public class Pinyin{   
      //拼音首字母   
      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 = pinyinName + net.sourceforge.pinyin4j.PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);   
            } catch (BadHanyuPinyinOutputFormatCombination e) {   
              e.printStackTrace();   
            }   
          else   
            pinyinName = pinyinName + nameChar[i];   
       
       
        return pinyinName;   
      }   
      //全部转为拼音   
      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 = pinyinName + net.sourceforge.pinyin4j.PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];   
            } catch (BadHanyuPinyinOutputFormatCombination e) {   
              e.printStackTrace();   
            }   
          else   
            pinyinName = pinyinName + nameChar[i];   
       
       
        return pinyinName;   
      }   
         
      public static void main(String[] args) {   
        System.out.println(converterToSpell("我是你大哥!!"));   
      }   
    }  

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/11039.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论