java使用jpinyin汉语转拼音(支持多音字)

简介: java使用jpinyin汉语转拼音(支持多音字)

compile "com.github.stuxuhai:jpinyin:1.1.8"

测试代码:

import com.github.stuxuhai.jpinyin.ChineseHelper;
import com.github.stuxuhai.jpinyin.PinyinFormat;
import com.github.stuxuhai.jpinyin.PinyinHelper;

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 = "郑州市";
  ChangeToPinYinJP jp = new ChangeToPinYinJP();
  System.out.println(jp.changeToMarkPinYin(str));
  System.out.println(jp.changeToTonePinYin(str)); //有空格
  System.out.println(jp.changeToSimplified(str));
  System.out.println(jp.checkPinYin('重'));

}
}

相关文章
|
6月前
|
Java
java实现中文转化为拼音与简称(转)
java实现中文转化为拼音与简称(转)
44 1
|
Java
Java工具类——汉字转拼音
写了一个根据汉字获取拼音字符串的工具类
151 0
|
存储 Java Maven
Java中文字转拼音工具类
有时,我们需要将中文汉字转为拼音存储,例如用于检索时,直接输入拼音或者首字母也能检索出我们想要的结果,这时我们便需要将汉字转拼音
329 0
|
Java Maven
Java代码获取汉字的拼音或汉字首字母
今天写项目时,有需要将输入的汉字转化为拼音和提取每个汉字首字母的功能,随手记录分享一下
182 0
|
XML 消息中间件 Java
Spring Boot 3.0发布,最低支持Java 17,新特性介绍
Spring Boot 3.0正式发布,距离Spring 2.0发布过去了4年半时间。最低支持Java 17,Spring Framework 6.0.本文详细介绍Spring Boot 3.0 新特性。
5810 12
Spring Boot 3.0发布,最低支持Java 17,新特性介绍
|
编解码 Java Maven
Java汉字转拼音(解决方案)
Java汉字转拼音(解决方案)
227 0
Java汉字转拼音(解决方案)
|
Oracle Java 关系型数据库
【方向盘】Oracle Java SE Support Roadmap:支持JDK 8到2030年
Java的发展史,也伴随着JVM的变迁史
428 0
【方向盘】Oracle Java SE Support Roadmap:支持JDK 8到2030年
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
490 0
有关Java发送邮件信息(支持附件、html文件模板发送)
|
安全 小程序 Java
Spring Boot 最新发布,支持 Java 19,这速度太快了。。
Spring Boot 最新发布,支持 Java 19,这速度太快了。。
751 0
Spring Boot 最新发布,支持 Java 19,这速度太快了。。
|
存储 缓存 算法
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!
由于现在大多计算机都是多核CPU,多线程往往会比单线程更快,更能够提高并发,但提高并发并不意味着启动更多的线程来执行。更多的线程意味着线程创建销毁开销加大、上下文非常频繁,你的程序反而不能支持更高的TPS。!
494 0
面试官:单核 CPU 支持 Java 多线程吗?为什么?被问懵了!