一、JPinyin介绍
JPinyin是一个汉字转拼音的Java开源类库,在PinYin4j的功能基础上做了一些改进。
【JPinyin主要特性】
1、准确、完善的字库;
Unicode编码从4E00-9FA5范围及3007(〇)的20903个汉字中,JPinyin能转换除46个异体字(异体字不存在标准拼音)之外的所有汉字;
2、拼音转换速度快;
经测试,转换Unicode编码从4E00-9FA5范围的20902个汉字,JPinyin耗时约100毫秒。
3、多拼音格式输出支持;
JPinyin支持多种拼音输出格式:带音标、不带音标、数字表示音标以及拼音首字母输出格式;
4、常见多音字识别;
JPinyin支持常见多音字的识别,其中包括词组、成语、地名等;
5、简繁体中文转换
JPinyin的实现原理是通过将生字、词组和对应的拼音以及简繁汉字存放在数据字典dic,然后通过代码操作数据字典dic来实现汉字/词组转拼音和汉字简繁互转的,数据字典dic都是可以自定义扩充的
核心方法说明:
Jpinyin里面一共有四个类:
ChineseHelper.Java 汉字简繁体转换类
PinyinFormat.java 拼音格式类
PinyinHelper.java 汉字转拼音类
PinyinResource.java 资源文件加载类
二、示例代码如下:
import com.github.stuxuhai.jpinyin.PinyinFormat;
import com.github.stuxuhai.jpinyin.PinyinHelper;
/**
* <dependency>
<groupId>com.github.stuxuhai</groupId>
<artifactId>jpinyin</artifactId>
<version>1.1.8</version>
</dependency>
* @author Administrator
*
*/
public class JPinDemo {
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
String str ="DRDS( Distributed Relational Database Service)" +
"是阿里巴巴自主研发致力于解决单机数据库服务瓶颈问题而推出的分布式数据库产品。" +
" DRDS 高度兼容 MySQL 协议和语法、支持自动化水平拆分、平滑扩容、弹性扩展、" +
"透明读写分离、分布式事务、具备分布式数据库全生命周期的运维管控能力。" +
"DRDS前身为淘宝TDDL,是近千核心应用首选组件";
//带声调
String res = PinyinHelper.convertToPinyinString(str, " ", PinyinFormat.WITH_TONE_MARK);
System.out.println(res);
//不带声调
res = PinyinHelper.convertToPinyinString(str, " ", PinyinFormat.WITHOUT_TONE);
System.out.println(res);
//声调转为数字:阴平1,阳平2,,即普通话中有四个声调,通常叫四声,
// 即阴平(第一声),用“ˉ”表示,如lā;
//阳平第二声,用“ˊ”表示,如lá;上声(第三声),
//用“ˇ”表示,如lǎ;去声(第四声),用“ˋ”表示,如;là。
res = PinyinHelper.convertToPinyinString(str, " ", PinyinFormat.WITH_TONE_NUMBER);
System.out.println(res);
}
}
三、验证:
备注:当遇到转换不准或者不包含新字典的时候,可以在data目录的dic目录进行自定义,例如工行,建行就转换不准。