分享

pinyin4j 汉语转拼音 - fuliang - JavaEye技术网站

 ShangShujie 2010-04-15

pinyin4j提供了汉语转拼音的一个开源库, 支持多种拼音系统:汉语拼音、 通用拼音 、威氏拼音、注音二式、雅礼、
国语罗马字。但当前版本貌似不支持根据上下文来识别多音字的功能。

http://pinyin4j./

写个小例子试了一下,多音字简单的取第一个读音:

Java代码
  1. package edu.jlu.fuliang;  
  2.   
  3. import net.sourceforge.pinyin4j.PinyinHelper;  
  4. import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;  
  5. import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;  
  6. import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;  
  7. import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;  
  8. import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;  
  9.   
  10. public class Pinyin4jTest {  
  11.     public static String getPinYin(String src) {  
  12.     StringBuilder pinyinBuf = new StringBuilder();  
  13.     HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();  
  14.     outputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);  
  15.     outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);  
  16.     outputFormat.setVCharType(HanyuPinyinVCharType.WITH_V);  
  17.   
  18.     try {  
  19.         for (int i = 0; i < src.length(); i++) {  
  20.         String[] pinYins = PinyinHelper.toHanyuPinyinStringArray(src.charAt(i),  
  21.             outputFormat);  
  22.         if (pinYins != null && pinYins.length > 0) {// 汉语  
  23.             pinyinBuf.append(pinYins[0]);  
  24.         } else {// 非汉语  
  25.             pinyinBuf.append(src.charAt(i));  
  26.         }  
  27.         }  
  28.     } catch (BadHanyuPinyinOutputFormatCombination e) {  
  29.         e.printStackTrace();  
  30.     }  
  31.     return pinyinBuf.toString();  
  32.     }  
  33.   
  34.     public static void main(String[] args) {  
  35.     System.out.println(getPinYin("Hello,欢迎来到长春"));  
  36.     }  
  37. }  
 

输出

Hello,huanyinglaidaozhangchun

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多