`
尘枉_yjava
  • 浏览: 71704 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

实现java z转拼音

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

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


基本用法,如下示例

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.} 
分享到:
评论

相关推荐

    java 获取汉字拼音首字母 源码

    java 获取汉字拼音首字母 源码 /** * GB 2312-80 把收录的汉字分成两级。第一级汉字是常用汉字,计 3755 个, 置于 16~55 * 区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字, 计 3008 个,置于 56~...

    仿电话簿按拼音快速索引界面功能,内含汉字转拼音工具

    仿电话簿按拼音快速索引界面功能,内含汉字转拼音工具 [注:本内容来自网络,在此分享仅为帮助有需要的网友,如果侵犯了您的权利,麻烦联系我,我会第一时间删除,谢谢您。]

    A-Z字母排序和过滤搜索功能

    Android 实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音 。

    按拼音排序分组LIST

    实现按拼音排序... 按A到Z,可点击选择~.. 详情看效果~

    中文转英文

    import java.io.UnsupportedEncodingException; /** * * @author zsw 中文转为拼音 * */ public class Spell { static final int GB_SP_DIFF = 160; static final int[] secPosValueList = { 1601, 1637, ...

    pinyinUtil.java

    最近有汉字转拼音需求,发现公司使用的工具类比较老了,多音字自持不怎么号,就自己写了汉语转拼音工具类,主要是对Jpinyin进行了整合优化,支持多音字,简繁体互转,并支持自定义字典,词典,工具类可以直接使用

    C语言源代码格式化 完工V1.00 20111024 2351.7z

    StringArrayX6汉字转拼音 20110729 1418 拼音库需要修正.7z 汉字转拼音 原理:ASC 转 UNICODE(汉字转拼音) 回转ASC。 TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转...

    C语言源代码格式化 完工 V1.01 20111224 1251.7z

    StringArrayX6汉字转拼音 20110729 1418 拼音库需要修正.7z 汉字转拼音 原理:ASC 转 UNICODE(汉字转拼音) 回转ASC。 TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转...

    C语言源代码格式化 完工 V1.02.7z )

    StringArrayX6汉字转拼音 20110729 1418 拼音库需要修正.7z 汉字转拼音 原理:ASC 转 UNICODE(汉字转拼音) 回转ASC。 TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转...

    C语言源代码格式化 完工 V1.05 20120229 1804.7z

    StringArrayX6汉字转拼音 20110729 1418 拼音库需要修正.7z 汉字转拼音 原理:ASC 转 UNICODE(汉字转拼音) 回转ASC。 TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转...

    C语言源代码格式化 完工 V1.03 20120112 1536.7z

    StringArrayX6汉字转拼音 20110729 1418 拼音库需要修正.7z 汉字转拼音 原理:ASC 转 UNICODE(汉字转拼音) 回转ASC。 TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转...

    C语言源代码格式化 完工 V1.09 20120821 2116.7z

    StringArrayX6汉字转拼音 20110729 1418 拼音库需要修正.7z 汉字转拼音 原理:ASC 转 UNICODE(汉字转拼音) 回转ASC。 TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转...

    C语言源代码格式化 完工 V1.08 20120801 1627.7z

    StringArrayX6汉字转拼音 20110729 1418 拼音库需要修正.7z 汉字转拼音 原理:ASC 转 UNICODE(汉字转拼音) 回转ASC。 TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转...

    C语言源代码格式化 完工 V1.04 20120226 1946.7z

    StringArrayX6汉字转拼音 20110729 1418 拼音库需要修正.7z 汉字转拼音 原理:ASC 转 UNICODE(汉字转拼音) 回转ASC。 TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转...

    C语言源代码格式化 完工 小文版本 V1.10 20120831 0955.zip

    StringArrayX6汉字转拼音 20110729 1418 拼音库需要修正.7z 汉字转拼音 原理:ASC 转 UNICODE(汉字转拼音) 回转ASC。 TXTEditEnterX1单文件排版 20110729 1902.7z 排版用 原理:ASC 转 UNICODE(排版) 回转...

    androidjava源码-Android_HanziToPinyin_Demo:HanziToPinyin.java来自Android4.2

    UNIHANS数组中,列举汉语拼音A到Z的拼音组成方式不同的字 根据输入的字符,二分查找UNIHANS列表中的对应同音字 输出UNIHANS中找到的对应字符的拼音 缺点与不足 如果在UNIHANS数组中,找不到对应的同音字则无法解析出...

    高德地图2021年10月省市区县街道拼音经纬度城市行政区域MYSQL数据

    INSERT INTO `districts` (`id`, `name`, `pinyin`, `initials`, `letter`, `citycode`, `adcode`, `parent`, `level`, `lng`, `lat`) VALUES (NULL, '中华人民共和国', 'zhonghuarenmingongheguo', 'ZHRMGHG', 'Z',...

    pinyin4j-2.5.0.7z

    java根据汉字生成拼音全拼或拼音首字母,所必须的jar包;net.sourceforge.pinyin4j.*;

    javascript实现二分查找法实现代码

    在js中可能会更灵活的用到a-z上,或者用到拼音…或者用到…… 不过值得深思的一个问题是,如果为了实现对拼音之类的二分查找.而经过如下流程是否值得: 1。对拼音排序,貌似代码量不小吧。 2。然后再二分查找。这又...

    汉字助记码实例源码.zip

    所谓的汉字助记码就是一个汉字的拼音的首字母,如:张的汉字助记码为Z 源码实例中有四种获取方法分别是 1、表获取方法 2、存储过程获取 3、标量值获取 4、字符编码方法

Global site tag (gtag.js) - Google Analytics