• 利用Java开源库把汉字转拼音(推荐OK)_爱题巴.爱技术.小川哥_百度空间


    利用Java开源库把汉字转拼音(推荐OK)_爱题巴.爱技术.小川哥_百度空间

    利用Java开源库把汉字转拼音(推荐OK)
    2009年07月22日 19:05

    最近做的项目,因为下拉框中的项目太多,需要有个过滤的方法。我想的是键入汉语拼音首字母即时过滤下拉内容。

    在网上找了好一会,发现了有个专门用来将中文转换成汉语拼音的Java的开源库,Pinyin4j,

    下载地址:pinyin4j-2.5.0.zip

    基本用法,如下示例

    Java代码
    1. /**
    2. * 汉字转换位汉语拼音,英文字符不变
    3. * @author xuke
    4. *
    5. */  
    6. public class Cn2Spell {   
    7.   
    8.     /**
    9.      * 汉字转换位汉语拼音首字母,英文字符不变
    10.      * @param chines 汉字
    11.      * @return 拼音
    12.      */  
    13.     public static String converterToFirstSpell(String chines){          
    14.          String pinyinName = "";   
    15.         char[] nameChar = chines.toCharArray();   
    16.          HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();   
    17.          defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
    18.          defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
    19.         for (int i = 0; i < nameChar.length; i++) {   
    20.             if (nameChar[i] > 128) {   
    21.                 try {   
    22.                      pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);   
    23.                  } catch (BadHanyuPinyinOutputFormatCombination e) {   
    24.                      e.printStackTrace();   
    25.                  }   
    26.              }else{   
    27.                  pinyinName += nameChar[i];   
    28.              }   
    29.          }   
    30.         return pinyinName;   
    31.      }   
    32.   
    33.     /**
    34.      * 汉字转换位汉语拼音,英文字符不变
    35.      * @param chines 汉字
    36.      * @return 拼音
    37.      */  
    38.     public static String converterToSpell(String chines){           
    39.          String pinyinName = "";   
    40.         char[] nameChar = chines.toCharArray();   
    41.          HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();   
    42.          defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);   
    43.          defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);   
    44.         for (int i = 0; i < nameChar.length; i++) {   
    45.             if (nameChar[i] > 128) {   
    46.                 try {   
    47.                      pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];   
    48.                  } catch (BadHanyuPinyinOutputFormatCombination e) {   
    49.                      e.printStackTrace();   
    50.                  }   
    51.              }else{   
    52.                  pinyinName += nameChar[i];   
    53.              }   
    54.          }   
    55.         return pinyinName;   
    56.      }   
    57.        
    58.     public static void main(String[] args) {   
    59.          System.out.println(converterToFirstSpell("欢迎来到最棒的Java中文社区"));   
    60.      }   
    61. }  

    以上一个是完全转换成汉语拼音的,另一个是只转换首字母的,遇到ASCII字符都不转换,保留。

  • 相关阅读:
    4步搞定:系统必备的安装位置未设置为组件供应商的网站,无法在磁盘上找到 dotNetFx40LP_Client_x86_x64cs.exe 问题的解决方案 VS2010 SP1 简体中文测试通过,繁体未测试
    SilverLight Expression 140小时视频讲座
    获取本地IP铁通也可以
    USB转485转换器
    继电器控制板
    远程抄表解决方案汇总
    Silverlight 鼠标滚轮组件“Silverlight.FX”
    Silverlight边学边写之一“Silverlight+Webservice+Dataset”综合应用
    企业库缓存类(EnterpriseLibrary CacheHelper )
    Silverlight Toolkit 正式版今天发布啦!
  • 原文地址:https://www.cnblogs.com/lexus/p/2420667.html
Copyright © 2020-2023  润新知