使用PinYin4J汉字转拼音
2013-01-28 22:57
417 查看
import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; /** * 汉字转拼音,英文字符不变 * @version 1.0 * */ public class PinYinToolkit { /** * 汉字转换汉语拼音首字母,英文字符不变 * 例如:北京--> bj * @param chinese 汉字 * @return String */ public static String cn2FirstSpell(String chinese){ StringBuilder pinyin = new StringBuilder(); char[] nameChar = chinese.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 { String[] py = PinyinHelper.toHanyuPinyinStringArray(nameChar[i],defaultFormat); if(py != null){ pinyin.append(py[0].charAt(0)); } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { pinyin.append(nameChar[i]); } } return pinyin.toString(); } /** * 汉字转换汉语拼音,英文字符不变 * 例如:北京--> beijing * @param chinese 汉字 * @return String */ public static String cn2Spell(String chinese){ StringBuilder pinyin = new StringBuilder(); char[] nameChar = chinese.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 { String[] py = PinyinHelper.toHanyuPinyinStringArray(nameChar[i],defaultFormat); if(py != null){ pinyin.append(py[0]); } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { pinyin.append(nameChar[i]); } } return pinyin.toString(); } /** * 拼音转换汉语拼音,拼音首字母大写,英文字符不变 * 例如:北京--> BeiJing * @param chinese 汉字 * @return String */ public static String cn2SpellFirstUpperCase(String chinese){ StringBuilder pinyin = new StringBuilder(); char[] nameChar = chinese.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 { String[] py = PinyinHelper.toHanyuPinyinStringArray(nameChar[i],defaultFormat); if(py != null){ pinyin.append(py[0].substring(0, 1).toUpperCase() + py[0].substring(1)); } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } } else { pinyin.append(nameChar[i]); } } return pinyin.toString(); } }
相关文章推荐
- 使用pinyin4j获取汉字的拼音和全角半角转换
- 使用 pinyin4j API 将汉字转换为拼音 (学习笔记)
- java 使用sourceforge.pinyin4j查询汉字拼音
- java使用PinYin4j将汉字转换为拼音
- 使用pinyin4j将TreeMap按照key的汉字拼音排序
- 使用pinyin4j将汉字转换成拼音
- 使用pinyin4j实现汉字转拼音
- 如何使用pinyin4j的Java库进行汉字转拼音?
- 【pinyin4j】使用pinyin4j将汉字转换为拼音
- 汉字转化为拼音 使用pinyin4j
- J2EE 使用pinyin4j实现汉字转换拼音
- java 使用sourceforge.pinyin4j查询汉字拼音
- java 使用sourceforge.pinyin4j查询汉字拼音
- java 使用sourceforge.pinyin4j查询汉字拼音
- Android使用pinyin4j完成简单汉字转拼音
- 使用PinYin4j.jar将汉字转换为拼音
- Java下将汉字转换为拼音的包pinyin4j
- [pinyin4j] java版汉字转换拼音(大小写)
- android开发之使用拼音搜索汉字