JAVA实现汉字转换为拼音 自动识别常用多音字 JPinyin
使用JPinyin,可以实现汉字转换为拼音,并自动识别常用多音字,还支持简体转换为繁体,检查是否为简体,是否为繁体,是否为中文字符等功能,下面一段代码简单列举了下汉字转换拼音及简体转换繁体
maven项目的pom.xml
com.github.stuxuhai
jpinyin
1.1.8
源代码:
package com.lovo.utils;
import opensource.jpinyin.ChineseHelper;
import opensource.jpinyin.PinyinFormat;
import opensource.jpinyin.PinyinHelper;
import org.springframework.stereotype.Component;
@Component
public class ChangeToPinYinJP {
/**
* 转换为有声调的拼音字符串
* @param pinYinStr 汉字
* @return 有声调的拼音字符串
*/
public String changeToMarkPinYin(String pinYinStr){
String tempStr = null;
try {
tempStr = PinyinHelper.convertToPinyinString(
pinYinStr, " ", PinyinFormat.WITH_TONE_MARK);
} catch (Exception e){
e.printStackTrace();
}
return tempStr;
}
/**
* 转换为数字声调字符串
* @param pinYinStr 需转换的汉字
* @return 转换完成的拼音字符串
*/
public String changeToNumberPinYin(String pinYinStr){
String tempStr = null;
try {
tempStr = PinyinHelper.convertToPinyinString(
pinYinStr, " ", PinyinFormat.WITH_TONE_NUMBER);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
/**
* 转换为不带音调的拼音字符串
* @param pinYinStr 需转换的汉字
* @return 拼音字符串
*/
public String changeToTonePinYin(String pinYinStr){
String tempStr = null;
try {
tempStr = PinyinHelper.convertToPinyinString(
pinYinStr, " ", PinyinFormat.WITHOUT_TONE);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
/**
* 转换为每个汉字对应拼音首字母字符串
* @param pinYinStr 需转换的汉字
* @return 拼音字符串
*/
public String changeToGetShortPinYin(String pinYinStr){
String tempStr = null;
try {
tempStr = PinyinHelper.getShortPinyin(pinYinStr);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
/**
* 检查汉字是否为多音字
* @param pinYinStr 需检查的汉字
* @return true 多音字,false 不是多音字
*/
public boolean checkPinYin(char pinYinStr){
boolean check = false;
try
{
check = PinyinHelper.hasMultiPinyin(pinYinStr);
} catch (Exception e) {
e.printStackTrace();
}
return check;
}
/**
* 简体转换为繁体
* @param pinYinStr
* @return
*/
public String changeToTraditional(String pinYinStr){
String tempStr = null;
try {
tempStr = ChineseHelper.convertToTraditionalChinese(pinYinStr);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
/**
* 繁体转换为简体
* @param pinYinSt
* @return
*/
public String changeToSimplified(String pinYinSt){
String tempStr = null;
try {
tempStr = ChineseHelper.convertToSimplifiedChinese(pinYinSt);
} catch (Exception e) {
e.printStackTrace();
}
return tempStr;
}
// public static void main(String[] args) {
// String str = "重慶 most input";
// ChangeToPinYinJP jp = new ChangeToPinYinJP();
// System.out.println(jp.changeToSimplified(str));
// System.out.println(jp.checkPinYin('重'));
// }
}
本文由 创作,采用 知识共享署名4.0 国际许可协议进行许可。本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名。最后编辑时间为:
2020/06/29 03:12