最近在列表排序上遇到了一个关于中文排序的问题 很自然的百度以后找到了一个工具pinyin4j
这里就pinyin4j的基础使用笔记一下 其实百度上也能得到类似的结果
首先来看一个HanyuPinyinOutputFormat的类 因为之后我们在将中文转化为拼音的过程中 需要传入这个参数
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
//设置转化后字符的大小写
//HanyuPinyinCaseType.UPPERCASE 转化为大写
//HanyuPinyinCaseType.LOWERCASE 转化为小写
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
//设置转化后音调的表示方式
//HanyuPinyinToneType.WITH_TONE_MARK 带音调 dǎ
//HanyuPinyinToneType.WITH_TONE_NUMBER 以数字代表音调 da3
//HanyuPinyinToneType.WITHOUT_TONE 不带音调 da
format.setToneType(HanyuPinyinToneType.WITH_TONE_NUMBER);//不带声调
//设置转化后ü这个辅音的呈现形式
//HanyuPinyinVCharType.WITH_U_AND_COLON 表现为 u:
//HanyuPinyinVCharType.WITH_U_UNICODE 表现为 ü
//HanyuPinyinVCharType.WITH_V 表现为v
format.setVCharType(HanyuPinyinVCharType.WITH_V);//yu这个音的表示方式
如上面看到的 format有3个参数 用于格式化之后显示的规则
将中文转化为拼音的过程 我们会用到PinyinHelper这个类 它拥有一系列的静态方法 这里使用最常用的一种
char[] s1Chars=s1.toCharArray();
String s1Result="";//存储最后的结果
try {
for(int i=0;i<s1Chars.length;i++){
//如果为中文
if(String.valueOf(s1Chars[i]).matches("[\\u4E00-\\u9FA5]+")){
String[] temp=PinyinHelper.toHanyuPinyinStringArray(s1Chars[i],format);
s1Result+=temp[0];
}else{
s1Result+=String.valueOf(s1Chars[i]);
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
要注意的是 如果是中英文混合的情况 需要区分对待 因为PinyinHelper.toHanyuPinyinStringArray方法如果传入一个英文字符 会返回null
之所以返回值是一个String数组 是因为可能有多音字的情况
附上pinyin4j.jar
分享到:
相关推荐
PinYin4jUtils PinYin4j使用案例
Pinyin4j是一个功能强悍的汉语拼音工具包,是sourceforge.net上的一个开源项目。 包里面有 pinyin4j.zip pinyin4j.jar 两种
赠送jar包:pinyin4j-2.5.0.jar; 赠送原API文档:pinyin4j-2.5.0-javadoc.jar; 赠送源代码:pinyin4j-2.5.0-sources.jar; 赠送Maven依赖信息文件:pinyin4j-2.5.0.pom; 包含翻译后的API文档:pinyin4j-2.5.0-...
Pinyin4j的基本用法 - 玄机逸士的专栏 - 博客频道 - CSDN.NET.html )
pinyin4j-2.5.1.jar、汉字转拼音 pinyin4j-2.5.1.jar、汉字转拼音 pinyin4j-2.5.1.jar、汉字转拼音
Pinyin4j的基本用法 1. 简单介绍 有时候,需要将汉字编程对应的拼音,以方便数据的处理。比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的。比如要查询“曹孟德”,就可以输入“cmd”...
pinyin4j(解决多音字问题源码),pinyin4j源码没有解决多音字的问题,这是一个解决能解决多音字的pinyin4j源码,但是里面的词库不是很全,你可以根据自己的需要进行添加。
里面包含pinyin4j-2.5.0.jar和使用示例PinyinUtils.java,可以帮助使用者快速理解并使用pinyin4j-2.5.0.jar实现java汉字转拼音或拼音首字母
Pinyin4j简单使用教程.docx,Pinyin4j简单使用教程.docx
Java pinyin4j.jar中文转拼音 详细可查看我的博客https://me.csdn.net/Extraordinarylife 中《Java pinyin4j.jar中文转拼音 》
Pinyin4j简单使用教程
pinyin4j 工具类的jar包,基于maven的配置 <groupId>net.sourceforge.pinyin4j</groupId> <artifactId>pinyin4j <version>2.5.0 pinyin4j-2.5.0.jar pinyin4j-2.5.0.pom
pinyin4j最新jar包,包含反编译过的jar包源码文件,使用说明必看.
pinyin4j-2.5.0.jar
Java 中文排序 使用pinyin4j组件
NULL 博文链接:https://1358440610-qq-com.iteye.com/blog/1850618
pinyin4j-2.5.0.jar PinYin4jUtils.java PinYin4jUtils.java
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换,拼音输出格式可以定制,在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,这时候Pinyin4j就可以派上用场