使用目的:将中文转换成拼音。
通过Maven引入类库pinyin4j
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
通过调用他的PinyinHelper辅助类来转换中文。代码如下:
String name = "互联网";
char[] charArray = name.toCharArray();
StringBuilder pinyin = new StringBuilder();
for(int i=0; i<charArray.length; i++){
if(Character.toString(charArray[i]).matches("[\\u4E00-\\u9FA5]+")){
pinyin.append(PinyinHelper.toHanyuPinyinStringArray(charArray[i])[0]);
}else{
pinyin.append(charArray[i]);
}
}
上述代码解释:
1.name是互联网,通过PinyinHelper.toHanyuPinyinStringArray接口逐字转换,分别转换成hu4,lian3,wang3;
因为这个接口还支持多音字,所以如果出现多音字,如“还”,那就会返回两个hai2,huan3,所以我直接取了第一个。
2. Character.toString(charArray[i]).matches("[\\u4E00-\\u9FA5]+")判断是不是中文字符,如果是中文字符才处理。
这样已经满足了我的需求。其他的以后用到再研究。