Java汉字转拼音pinyin4j用法
来源:互联网 发布:南京中国软件谷街道 编辑:程序博客网 时间:2024/05/12 03:21
汉字转换拼音在日常开发中是个很常见的问题。例如我们伟大的12306,在地名中输入“WH”,就会出现“武汉”“芜湖”“威海”等地名,输入“WUHU”就会出现“芜湖”。
Java获取汉字的拼音,pinyin4j这个库可以很好的解决这个问题。
下载地址:http://sourceforge.net/projects/pinyin4j/
下载解压,里面有个pinyin4j-2.5.0.jar,使用这个库即可。
汉字转拼音:
String[] pinyin = PinyinHelper.toHanyuPinyinStringArray('重');
上面这行代码就是单个汉字转拼音了,例如“重”字,该方法返回一个String类型的数组:
"zhong4"
"chong2"
“重”是一个多音字,该方法的返回数组包含这个字的所有读音的拼音。每个读音最后有个数字就是音调(第一声 第二声 第三声 第四声,这个不用解释了)。
上面是最简单的一种获取单个汉字的方式,还可以使用HanyuPinyinOutputFormat来格式化返回拼音的格式。
- HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
- // UPPERCASE:大写 (ZHONG)
- // LOWERCASE:小写 (zhong)
- format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
- // WITHOUT_TONE:无音标 (zhong)
- // WITH_TONE_NUMBER:1-4数字表示英标 (zhong4)
- // WITH_TONE_MARK:直接用音标符(必须WITH_U_UNICODE否则异常) (zhòng)
- format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);
- // WITH_V:用v表示ü (nv)
- // WITH_U_AND_COLON:用"u:"表示ü (nu:)
- // WITH_U_UNICODE:直接用ü (nü)
- format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
- String[] pinyin = PinyinHelper.toHanyuPinyinStringArray('重', format);
toHanyuPinyinStringArray如果传入的字符不是汉字不能转换成拼音,那么会直接返回null。
虽然pinyin4j很好用,但是还是有局限的。以上代码只能获取单个汉字的拼音,但是不能获取一个包含多音字的词的拼音。例如“重庆”,无法判断到底是“chongqing”还是“zhongqing”,pinyin4j不能通过上下文来判断多音字的读音。
所以,在获取一个包含多音字的词语的读音,可以返回一个列表,正确的读音只能是人工判断选择。
0 0
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j用法 .
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j用法
- Java汉字转拼音pinyin4j
- Java Pinyin4j(汉字转拼音)
- Java基础知识:Java汉字转拼音pinyin4j用法
- java汉字转拼音pinyin4j-2.5.0.jar用法
- java实现中文汉字转拼音 Pinyin4j的基本用法
- Java 汉字转行拼音 pinyin4j用法
- 汉字转拼音Pinyin4j的基本用法
- Java汉字排序(汉字转拼音用pinyin4j)
- 高精度AD芯片ADS8364在生理信号数据采集中的应用
- WCF实现的文件上传和下载
- 2.6版Linux内核中涉及的结构体指定初始化项目解析
- 第六周 项目4 数制转换
- Gnome 高级配置
- Java汉字转拼音pinyin4j用法
- 贡献15本经典C、C++、MFC、VC++教程,都是pdf完整版的
- linux驱动头文件位置的说明
- mini6410下移植apache+php
- Read-only file system 解决
- QT工具___语言翻译
- Makefile‘ *** 混和的隐含和普通规则’错误的解决
- Oracle 中 decode 函数用法
- Ubuntu13.10安装仿苹果启动, 帅气的底座