java中文转拼音,支持多音字词组,不支持音标

官方的pinyin4j虽然强大,能够支持音标转换,但硬伤在于不支持词组。就此特地将pinyin4j的词库提取出来,研究了下,发现多音字有2000多,去掉音标就1000多,常用字也就500左右。然后估摸着一周左右的时间应该能够把常用多音字词库给整出来,于是就开干。从[url=http://xh.5156edu.com/][color=blue]在线新华字典[/color][/url]、[url=http://www.zdic.net/][color=blue]汉典[/color][/url]和[url=http://dict.baidu.com/][color=blue]百度词典[/color][/url]等网站提取各种多音字词组,苦逼一周后终于算是完成了,虽然词库不够完美,但也能够解决97%以上多音节词组了。接下来是编码实现的事情,为了方便就把2个字以上的词组截掉(极少词组会受影响),具体实现自己看源码吧!

[color=red][b]本作用于学习交流,有什么疑问或BUG请及时提出,以便于修正。[/b][/color]


[b]附上个使用案例[/b]

测试代码:

String text = "Lucky仗着高深的道行,提着螃蟹飞行在各大行会之间";
//直接输出转换后的拼音
String dest = HanziDecoder.getHypy(text);
System.out.println(dest);

//使用空格隔开拼音,拼音首字母大写
String dest1 = HanziDecoder.getHypy(text,' ');
System.out.println(dest1);

//使用空格隔开拼音,拼音首字母大写
String dest2 = HanziDecoder.getHypy(text, 1, ' ');
System.out.println(dest2);


控制台输出:
[code]
Luckyzhangzhegaoshendedaoheng,tizhepangxiefeixingzaigedahanghuizhijian
Lucky zhang zhe gao shen de dao heng,ti zhe pang xie fei xing zai ge da hang hui zhi jian
Lucky Zhang Zhe Gao Shen De Dao Heng,Ti Zhe Pang Xie Fei Xing Zai Ge Da Hang Hui Zhi Jian
[/code]

测试和维护词库过程太过繁琐,文本量大的时候不容易定位判断,就特地开发一个swing界面用来测试和维护词库,直接上图
[b]拼音转换界面[/b]

[img]http://dl2.iteye.com/upload/attachment/0094/1115/71917df7-50bf-3080-99c1-d9bb967e7cc8.jpg[/img]

[b]词库编辑界面[/b]


[img]http://dl2.iteye.com/upload/attachment/0094/1138/6648b562-6614-363d-994e-d3c03daca0e5.jpg[/img]

没有更多推荐了,返回首页