java实现中文汉字转拼音 Pinyin4j的基本用法
2017-07-07 17:22
423 查看
一、前言
工作中有时候会遇到汉字拼音转换的需求,例如:用户首字母搜索某个内容的时候,wzry 可搜索 王者荣耀相关的。这里推荐使用Pinyin4j,它是sourceforge.net上的一个开源项目,提供了许多强大的处理汉语拼音相关问题的方法。详情可参考:http://pinyin4j.sourceforge.net/
二、使用Pinyin4j
1、maven项目添加依赖包
<!-- 汉语 拼音 转换的包--> <dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version> </dependency>
2、汉字转拼音工具类(具体看注释)
package com.sam.util; import net.sourceforge.pinyin4j.PinyinHelper; import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat; import net.sourceforge.pinyin4j.format.HanyuPinyinToneType; import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType; import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination; /** * 中文汉字转拼音工具类 * * @author sam * @since 2017/5/10 */ public class PinyinUtil { public static void main(String[] args) throws BadHanyuPinyinOutputFormatCombination { String str = PinyinUtil.getPinYinHeadChar("小超人"); System.out.println(str); // String[] strs = PinyinUtil.getPinYin('空'); // for (String str : strs) { // System.out.println(str); // } } /** * 传入中文获取首字母 (小写) * 如:小超人 -> xcr * * @param str 需要转化的中文字符串 * @return */ public static String getPinYinHeadChar(String str) { String convert = ""; for (int j = 0; j < str.length(); j++) { char word = str.charAt(j); String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); if (pinyinArray != null) { convert += pinyinArray[0].charAt(0); } else { convert += word; } } return convert; } /** * 获取中文字的拼音(多音字,拼音后的数字代表第几声) * 如:空 -> kong1 kong4 * * @param word * @return */ public static String[] getPinYin(char word) { return PinyinHelper.toHanyuPinyinStringArray(word); } /** * 获取中文字的拼音(多音字,拼音上的符号代表第几声) * 如:空 -> kōng kòng * * @param word * @return */ public static String[] getPinYinWithToneMark(char word) throws BadHanyuPinyinOutputFormatCombination { HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK); format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE); return PinyinHelper.toHanyuPinyinStringArray(word, format); } }
相关文章推荐
- java实现中文汉字转拼音 Pinyin4j的基本用法
- Java中汉字转拼音pinyin4j用法实例分析
- Java汉字转拼音pinyin4j用法 .
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j用法
- java汉字转拼音pinyin4j-2.5.0.jar用法
- java 实现中文转化为拼音代码 汉字转化为拼音源码分享
- Java汉字转换成拼音利用pinyin4j的jar包实现
- Java通过pinyin4j实现汉字转拼音
- Java汉字转拼音pinyin4j用法
- 汉字转拼音Pinyin4j的基本用法
- Java汉字转拼音pinyin4j用法
- java对汉字和汉语拼音的操作——Pinyin4j的基本用法
- Java 汉字转行拼音 pinyin4j用法
- java实现中文转化为拼音与简称
- Java下将汉字转换为拼音的包pinyin4j
- JAVA实现汉字转拼音缩写--类的静态方法
- 最简单的对Java List列表按中文拼音排序的实现方式
- J2SE综合--JAVA实现把汉字转化成拼音
- Java实现汉字转换为拼音