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('重'));

}
}

相关文章
|
Java
Java中文汉字转拼音
实现方法多样,在此列举两种,一种是比较简单,但是实现自定义稍差,还有一种就是自己写实现逻辑
3675 0
|
8月前
|
Java
Java工具类——汉字转拼音
写了一个根据汉字获取拼音字符串的工具类
106 0
|
9月前
|
Java Maven
Java代码获取汉字的拼音或汉字首字母
今天写项目时,有需要将输入的汉字转化为拼音和提取每个汉字首字母的功能,随手记录分享一下
109 0
|
存储 Java Maven
Java中文字转拼音工具类
有时,我们需要将中文汉字转为拼音存储,例如用于检索时,直接输入拼音或者首字母也能检索出我们想要的结果,这时我们便需要将汉字转拼音
247 0
|
编解码 Java Maven
Java汉字转拼音(解决方案)
Java汉字转拼音(解决方案)
195 0
Java汉字转拼音(解决方案)
|
Oracle 架构师 Java
【方向盘】Oracle Java SE Support Roadmap:支持JDK 8到2030年
Java的发展史,也伴随着JVM的变迁史
322 0
【方向盘】Oracle Java SE Support Roadmap:支持JDK 8到2030年
|
Java
有关Java发送邮件信息(支持附件、html文件模板发送)
有关Java发送邮件信息(支持附件、html文件模板发送)
439 0
有关Java发送邮件信息(支持附件、html文件模板发送)
|
XML 消息中间件 JSON
Spring Boot 3.0发布,最低支持Java 17,新特性介绍
Spring Boot 3.0正式发布,距离Spring 2.0发布过去了4年半时间。最低支持Java 17,Spring Framework 6.0.本文详细介绍Spring Boot 3.0 新特性。
5314 12
Spring Boot 3.0发布,最低支持Java 17,新特性介绍
|
Java
Java 支持两种调用方法的方式
Java 支持两种调用方法的方式
131 0
|
安全 小程序 Java
Spring Boot 最新发布,支持 Java 19,这速度太快了。。
Spring Boot 最新发布,支持 Java 19,这速度太快了。。
698 0
Spring Boot 最新发布,支持 Java 19,这速度太快了。。