首页IT科技java将汉字转换为拼音怎么写(利用Java开源库把汉字转拼音(推荐OK)_爱题巴.爱技术.小川哥_百度空间)

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

时间2025-05-02 14:16:18分类IT科技浏览6174
导读:2009年07月22日 19:05...

2009年07月22日 19:05

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

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

下载地址:pinyin4j-2.5.0.zip

基本用法             ,如下示例

Java代码
/** * 汉字转换位汉语拼音       ,英文字符不变 * @author xuke * */ publicclass Cn2Spell { /** * 汉字转换位汉语拼音首字母                    ,英文字符不变 * @param chines 汉字 * @return 拼音 */ publicstatic 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 += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0); } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{ pinyinName += nameChar[i]; } } return pinyinName; } /** * 汉字转换位汉语拼音             ,英文字符不变 * @param chines 汉字 * @return 拼音 */ publicstatic 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 += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0]; } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{ pinyinName += nameChar[i]; } } return pinyinName; } publicstaticvoid main(String[] args) { System.out.println(converterToFirstSpell("欢迎来到最棒的Java中文社区")); } }
/** * 汉字转换位汉语拼音,英文字符不变 * @author xuke * */ public class Cn2Spell { /** * 汉字转换位汉语拼音首字母                    ,英文字符不变 * @param chines 汉字 * @return 拼音 */ 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 += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0); } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{ pinyinName += nameChar[i]; } } return pinyinName; } /** * 汉字转换位汉语拼音                    ,英文字符不变 * @param chines 汉字 * @return 拼音 */ 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 += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0]; } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{ pinyinName += nameChar[i]; } } return pinyinName; } public static void main(String[] args) { System.out.println(converterToFirstSpell("欢迎来到最棒的Java中文社区")); } }

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

http://tuoxie007.javaeye.com/blog/392240
声明:本站所有文章       ,如无特殊说明或标注             ,均为本站原创发布       。任何个人或组织                   ,在未征得本站同意时       ,禁止复制             、盗用                   、采集       、发布本站内容到任何网站       、书籍等各类媒体平台                   。如若本站内容侵犯了原著者的合法权益       ,可联系我们进行处理             。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
bash $?(2 BASH 的基本语法) 王道的数据结构是基于哪本书(王道数据结构(C语言)持续更新!!!)