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

汉字转拼音的工具类

时间:2022-11-16 21:33:51浏览次数:78  
标签:拼音 pinyin4j 汉字 import 工具 sourceforge net String

平常是处理文字的时候更多用到的是字符串方面的工具类,作为学习汉字的工具,拼音还是很重要的一个辅助方式,分享一个汉字转拼音的工具类。可以用于帮助学习汉字或者作为一些汉字的辅助说明都也是可以的。这个还支持将汉字拼音输出为首字母,例如"愷龍"可以输出为"kl",在现在大家很多时候都用缩写的情况下,可以也可以作为一个辅助的工具。

该工具类用到了pinyin4j-2.5.0.jar包

包下载地址:
网盘下载:https://kohler.lanzouv.com/i3bQG0g2imkj

Maven中央库:https://mvnrepository.com/artifact/org.clojars.cbilson/pinyin4j/2.5.0
完整代码:


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 class GetPinyin {

   /**
    * 得到 全拼
    * @Param src
    * @return
    */
   public static String getPingYin(String src) {
       char[] t1 = null;
       t1 = src.toCharArray();
       String[] t2 = new String[t1.length];
       HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
       t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
       t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
       t3.setVCharType(HanyuPinyinVCharType.WITH_V);
       StringBuffer t4 = new StringBuffer();
       int t0 = t1.length;
       try {
           for (char c : t1) {
               // 判断是否为汉字字符
               if (Character.toString(c).matches(
                       "[\\u4E00-\\u9FA5]+")) {
                   t2 = PinyinHelper.toHanyuPinyinStringArray(c, t3);
                   t4.append(t2[0]);
               } else {
                   t4.append(Character.toString(c));
               }
           }
           return t4.toString();
       } catch (BadHanyuPinyinOutputFormatCombination e1) {
           e1.printStackTrace();
       }
       return t4.toString();
   }

   /**
    * 得到中文首字母
    * @param str
    * @return
    */
   public static String getPinYinHeadChar(String str) {

       StringBuffer convert = new StringBuffer();
       for (int j = 0; j < str.length(); j++) {
           char word = str.charAt(j);
           String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
           if (pinyinArray != null) {
               convert.append(pinyinArray[0].charAt(0));
           } else {
               convert.append(word);
           }
       }
       return convert.toString();
   }


   public static void main(String[] args) {

       String cnStr = "快关注愚生浅末";
       System.out.println(getPingYin(cnStr));
       System.out.println(getPinYinHeadChar(cnStr));
   }

}

运行效果:
image
公众号原文地址:https://mp.weixin.qq.com/s/K0tBRnV0X8yy2OJY5Okt-A

欢迎关注公众号:愚生浅末。

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

相关文章

  • 【NLP】NLTK工具集使用
    学习总结文章目录​​学习总结​​​​一、NaturalLanguageToolkit​​​​二、常用语料库和词典​​​​三、常用NLP工具集​​​​3.1分句​​​​3.2标记解析​​​......
  • 5 步!用阿里云 Serverless 搭建高质量的图片压缩工具
    作者:ReganYue本文选自“Serverless函数计算征集令”活动什么是ServerlessServerless是一种基于云计算的开发方法,它让开发人员可以专注于编写代码来解决业务问题,而不是处......
  • 视频处理工具 FFmpeg 常用实例详解
    FFmpeg是一个专业的多媒体框架,能够解码、编码、转码、复用、解复用、流式传输、过滤和播放几乎所有格式的媒体文件。其核心就是FFmpeg程序本身,是一个基于命令行的视频和......
  • 代码统计工具介绍
    我研究了3个工具。效果和安装配置使用如下:工具gitinspectorgitinspector安装部署准备npm工具下载安装:node-v14.16.0-linux-x64.tar.xzcd/roottarxfnode-v14.16.0-......
  • Java之拼音工具类的使用
    在自动生成字段key时,字段的key可以设置成使用字段名的拼音。拼音工具类实现如下:packagecom.cmit.kapok.system.utils;importnet.sourceforge.pinyin4j.PinyinHelper......
  • VBA变量和函数名拼音输入提示
    VBA代码助手下载地址全球首发!VBA变量和函数名拼音输入提示!一直想做这个功能,从构想到实现,遇到了太多困难,不过随着代码行号研发过程中,我的个人技术得到极大提升,这个一直......
  • 关于 SAP UI5 控件内容的 Excel 导出功能,如何加载所需的导出工具库
    SAPUI5ExpreadSheet导出功能允许开发人员将数据导出到OfficeOpenXML电子表格。开发人员可以导出具有表格格式的任何类型的内容,例如表格或列表。如果使用SmartTab......
  • Elastic图形化管理工具-cerebro
    cerebro没有Kibana那么强大,但是部署起来极其简单且页面极其简洁。代码在GitHub存管:GitHub传统部署:GitHub容器部署:Docker部署:dockerrun-itd--namecerebro-p9......
  • explain sql性能分析工具
    1.Explain是什么?有什么用?explain英[ɪkˈspleɪn] 美[ɪkˈspleɪn]v.说明;解释,【计算机】解释、执行计划1.1explain是什么?explain是一个sql性能分析工具。......
  • 零基础抖音视频教程全套|短视频无人直播带货技术课程+视频素材和软件工具
    不可否认,抖音已成为当今最受欢迎的社交媒体平台之一。曾经是一个社交媒体平台,青少年可以在其中提出舞蹈套路,同时对他们最喜欢的歌曲进行口型同步,现已成为主流视频世界,其中......