通过第三方jar实现中文转换为拼音
2017-03-04 20:24
330 查看
如何把中文转换为拼音
通过使用第三方的jar包pinyin4j-2.5..jar,把中文转换为拼音,代码如下。public class PinYinUtil { /** * 获取汉字的拼音,会销毁一定的资源,所以不应该被频繁调用 * @param chinese * @return */ public static String getPinyin(String chinese){ if(TextUtils.isEmpty(chinese)) return null; //用来设置转化的拼音的大小写,或者声调 HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); format.setCaseType(HanyuPinyinCaseType.UPPERCASE);//设置转化的拼音是大写字母 format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);//设置转化的拼音不带声调 //1.由于只能对单个汉字转化,所以需要将字符串转化为字符数组,然后对每个字符转化,最后拼接起来 char[] charArray = chinese.toCharArray(); String pinyin = ""; for (int i = 0; i < charArray.length; i++) { //2.过滤空格 if(Character.isWhitespace(charArray[i]))continue; //3.需要判断是否是汉字 //汉字占2个字节,一个字节范围是-128~127,那么汉字肯定大于127 if(charArray[i]>127){ //可能是汉字 try { //由于多音字的存在,比如单 dan shan, String[] pinyinArr = PinyinHelper.toHanyuPinyinStringArray(charArray[i],format); if(pinyinArr!=null){ pinyin += pinyinArr[0];//此处即使有多音字,那么也只能取第一个拼音 4000 }else { //说明没有找到对应的拼音,汉字有问题,或者可能不是汉字,则忽略 } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); //说明转化失败,不是汉字,比如O(∩_∩)O~,那么则忽略 } }else { //肯定不是汉字,应该是键盘上能够直接输入的字符,这些字符能够排序,但不能获取拼音 //所以可以直接拼接 a黑马->aheima pinyin += charArray[i]; } } return pinyin; } }
相关文章推荐
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- 将汉语转换成拼音,实现拼音和中文双重登录
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- 一个中文转换为拼音的完美实现
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- Java中将中文姓名转换为拼音的简单实现
- Mysql中文汉字转拼音的实现(每个汉字转换全拼)
- Java实现汉字转换为拼音
- 用C#实现将汉字转化为拼音,其实现原理就是先将汉字转化为内码,然后通过内码和拼音的对照表来进行查找。
- 如何将中文转换为拼音呢?
- 将天文数字转换成中文大写(.Net/C#/VB/T-SQL/Java 实现)
- 中文转换成拼音函数
- 实现货币金额中文大写转换的程序
- Oracle中实现中文字符串的首字母简拼转换
- 数字金额转换成中文金额(数据库实现)