首页 > 其他分享 >汉字转拼音工具类

汉字转拼音工具类

时间:2023-11-26 09:11:51浏览次数:28  
标签:拼音 format pinyin4j 汉字 import 工具 sourceforge net String

汉字转拼音工具类,拼音首字母大写。

需要注意的是,由于用到了pinyin4j,因此需要导包:

<!--汉字转拼音-->
<dependency>
    <groupId>org.clojars.cbilson</groupId>
    <artifactId>pinyin4j</artifactId>
    <version>2.5.0</version>
</dependency>
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

public final class PinyinUtil {

    private PinyinUtil() {
    }

    public static String getPinYin(String chineseCharacters) {
        HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
        format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        format.setVCharType(HanyuPinyinVCharType.WITH_V);
        char[] arrays = chineseCharacters.trim().toCharArray();
        String pinyin = "";
        try {
            for (int i = 0; i < arrays.length; i++) {
                char ti = arrays[i];
                if (Character.toString(ti).matches("[\\u4e00-\\u9fa5]")) {
                    String[] temp = PinyinHelper.toHanyuPinyinStringArray(ti, format);
                    char[] cs = temp[0].toCharArray();
                    cs[0] -= 32;
                    pinyin += String.valueOf(cs);
                } else {
                    pinyin += ti;
                }
            }
        } catch (BadHanyuPinyinOutputFormatCombination e) {
            e.printStackTrace();
        }
        return pinyin;
    }
}

 

标签:拼音,format,pinyin4j,汉字,import,工具,sourceforge,net,String
From: https://www.cnblogs.com/xfeiyun/p/17856534.html

相关文章

  • 线程-同步工具类
    CountDownLatch(闭锁)1.CountDownLatch是一个同步的辅助类,允许一个或多个线程一直等待,直到其它线程完成它们的操作。2.它常用的API其实就两个:await()和countDown()。3.count初始化CountDownLatch,然后需要等待的线程调用await方法。await方法会一直受阻塞直到count=0。4.而其......
  • 一个查看 SAP CRM One Order 运行时生成的应用日志(Application Log)的小工具
    方法参数定义:方法源代码:METHODGET_ORDER_ERROR_MESSAGE_OPT.DATA:ls_log_filterTYPEbal_s_lfil,ls_extnumberTYPEbal_s_extn,ls_objectLIKEls_extnumber,ls_subobjectLIKEls_extnumber,lt_log_headerTYPEbalhdr_t,......
  • 反射工具类
    importjava.lang.reflect.Field;importjava.lang.reflect.Method;importjava.math.BigDecimal;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Arrays;importjava.util.Date;importjava.util.List;publicfinalclassReflect......
  • 推特批量关注工具
    《推特批量关注工具:便利与道德考量》 随着社交媒体的普及,推特作为全球最受欢迎的社交平台之一,已经成为人们交流、分享和获取信息的重要渠道。然而,对于个人用户和企业来说,积极地扩大关注者群体往往是一个具有挑战性的任务。在这样的情况下,一些推特批量关注工具应运而生,它们被设......
  • AI创作工具:Claude2注册保姆级教程
    最近软件打算多接入几个AI写作平台,包括讯飞星火,百度文心,Claude2,这样就能给用户提供更多的写作选择经过半天的调研,讯飞星火,百度文心一言,接入都比较简单,毕竟是国内的。在调研Claude2的时候,发现自己之前注册的账号被封了。于是打算重新注册一个账号,结果犯了难。下面开始正式教程......
  • Linux下通过串口工具发送16进制消息
    Linux下常用的串口工具有:1)minicom,最常用的命令行串口工具,可以支持16进制显示信息,但是无法通过16进制进行消息收发;2)cutecom,一款基于QT的带有图形界面的小工具,支持通过16进制进行消息收发(见下图);3)putty,也是一款带有图形界面的工具(没测试,应该也是可以支持16进制通讯的)。 ......
  • 【硬件相关】SPECpower能效评估工具
     一、前言1、软件说明官网:SERT®套件用户指南2.0.5SPECpower介绍SPEC基准及工具SPECpower_ssj2008测试结果SPECpower_ssj2008-Design_ccs-SPECSPEC(theStandardPerformanceEvaluationCorporation)是一个由计算机硬件厂商、软件公司、大学、研究机构、系统集......
  • 工具 | Vshell使用入门
    写在前面   "Vshell是一款go编写的主机群管理工具(RAT)"。    发现Vshell作者团队非常低调,项目Github上Readme介绍非常简短,网上也很少有使用介绍。写个基础入门,记录从配置到主机管理、搭建隧道。本文仅作为工具介绍,请勿用于任何违法场景。    未经授权请勿利用文章......
  • 一些方便的webassembly 工具
    WebAssembly团队提供了一些方便的webassembly工具集包含的工具集wat2wasm 将WebAssembly文本格式(.wat)转换为WebAssembly二进制格式(.wasm)wasm2wat 是wat2wasm的反向工具,将二进制格式转换回文本格式(.wat)wasm-objdump 类似于传统的objdump工具,它打印有关WebAssembly二进制......
  • MAT工具分析Dump文件(大对象定位)
     前段时间线上服务经常发生卡顿,经过排查发现是大对象引起的Fullgc问题,特此记录排查逻辑。 目录目的一、获得服务进程二、生成dump文件三、下载mat工具四、使用mat工具导入第二步生成的dump文件五、导入后得到如下界面六、定位大对象(方法一)七、定位大对象(方法二)......