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

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

时间2025-06-14 22:24:54分类IT科技浏览7575
导读: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
php验证码错误(phpcms v9后台登录验证码不显示怎么办) 相关性分析数据处理(数据挖掘01-相关性分析及可视化【Pearson, Spearman, Kendall】)