记录一下:Java 汉字获取拼音或首字母工具类

  • Maven依赖配置
  • Java代码

本文主要记录一下在Java中,如何将字符串中的中文转化为拼音,获取汉字串拼音首字母,获取汉字串拼音的工具类,以及相关的示例代码

Maven依赖配置

在 pom.xml 文件中添加下方所示依赖

<dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.1</version>
</dependency>

Java代码

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 PinYinUtil {/*** 将字符串中的中文转化为拼音,其他字符不变** @param inputString* @return*/public static String getPingYin(String inputString) {HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();format.setCaseType(HanyuPinyinCaseType.LOWERCASE);format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);format.setVCharType(HanyuPinyinVCharType.WITH_V);char[] input = inputString.trim().toCharArray();String output = "";try {for (int i = 0; i < input.length; i++) {if (java.lang.Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);output += temp[0];} elseoutput += java.lang.Character.toString(input[i]);}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}return output;}/*** 获取汉字串拼音首字母,英文字符不变* @param chinese 汉字串* @return 汉语拼音首字母*/public static String getFirstSpell(String chinese) {StringBuffer pybf = new StringBuffer();char[] arr = chinese.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < arr.length; i++) {if (arr[i] > 128) {try {String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);if (temp != null) {pybf.append(temp[0].charAt(0));}} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pybf.append(arr[i]);}}return pybf.toString().replaceAll("\\W", "").trim();}/*** 获取汉字串拼音,英文字符不变* @param chinese 汉字串* @return 汉语拼音*/public static String getFullSpell(String chinese) {StringBuffer pybf = new StringBuffer();char[] arr = chinese.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < arr.length; i++) {if (arr[i] > 128) {try {pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}} else {pybf.append(arr[i]);}}return pybf.toString();}
}

记录一下:Java 汉字获取拼音或首字母工具类相关推荐

  1. 实现下拉框的汉字、拼音、首字母大小写,全拼检索选项

    调用这个工具类,可以实现下拉框的汉字.拼音.首字母大小写,全拼检索选项 import java.util.Arrays;import net.sourceforge.pinyin4j.PinyinHe ...

  2. Java汉字获取拼音、笔划、偏旁部首

    本文需要配合文本库使用,在文章底部附文本库文件 废话不多说 直接上代码: import java.io.BufferedReader; import java.io.IOException; impo ...

  3. 汉字转换成拼音、汉字获取每个字首字母行程助记码的工具,附详细用法

    效果展示 //获取汉字拼音,可带字母数字,不进行转换System.out.println("好好学习"+getPinyin("好好学习"));System.ou ...

  4. Android获取汉字首字母工具类

    1.使用方法 String s=GetChineseFirstUtil.getSpells("你"); 2.工具类代码: import java.io.UnsupportedEnc ...

  5. 在小程序上实现汉字的拼音提取首字母

    采用js将获取的汉字转换成拼音或者提取出首字母,这里分享一种最快捷简单的方式. 一.安装 1.去npm找合适的包 没有看太多,查了一下适配小程序的,随便选了一个: https://www.npmjs. ...

  6. php拼音首拼,PHP 汉字转拼音(可首字母)

    有些项目会使用此功能,但是一些多音字如重庆,会翻译成zhongqing.有多音字情况的应该避免使用此类 /** * Created by PhpStorm. * Date: 2017/10/21 * ...

  7. asp.net 汉字转换拼音及首字母实现代码

    Default.aspx页面 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeFile=& ...

  8. 汉字与拼音互转的工具类

    这是一个将汉字转换成的拼音的工具类.这个工具类很实用,项目中经常用到. 以下是此工具类的代码: package com.beimu.soldier.common.util; import net.so ...

  9. 汉字转拼音和简拼工具类分享

    功能:本工具类可以完成汉字转 全拼 .简拼. 实现原理:借助pinyin4j开源项目 <dependency><groupId>com.belerweb</groupId ...

最新文章

  1. 【SpringCloud】Feigin-实例
  2. undefined reference to 'pthread_create'问题解决
  3. WebService事务处理
  4. Label Studio 入门
  5. jzoj4015-数列【循环节,数论】
  6. 三个实用的提升网页性能技巧
  7. 人间值得!支付宝宣布平台上登记器官捐献人数:90后占比超一半
  8. java客户端查询hive很慢_Hive面试,如何优化查询效率!
  9. static与get属性的作用
  10. 2019 年备受争议的 Facebook 能否走出去年的阴影?| 畅言
  11. 【java学习之路】(mysql篇)003.mysql中limit、表的创建、删除、约束
  12. Linux下QT创建项目错误处理
  13. Struts2标签库(三)之表单标签
  14. 【背包问题】基于matlab量子免疫克隆算法求解背包问题【含Matlab源码 424期】
  15. unicode汉字对照表
  16. 软件工程—实践者的研究方法
  17. Git三大特色之Stage(暂存区)--留着当资料
  18. 痘痘告诉你,身体哪里生病了
  19. RT-Thread:W25Q128虚拟U盘并搭载文件系统
  20. linux cat和vim区别,cat命令和vim存在着什么区别

热门文章

  1. 华润微功放CS3850EO,2×40W D 类音频功率放大电路,替换:智浦芯CS8673,TI的TAS5780、TAS5754,国产功放
  2. Windows 卡顿问题整理
  3. 苹果系统又更新了,iOS13.1.3修复了哪些Bug?为啥对系统频繁修复
  4. oracle稽核错数据,監督與合規稽核 - Oracle SuperCluster M7 系列安全指南
  5. C++语音识别接口快速入门
  6. HTML——实现界面(文本,横线,平方,化学方程式)
  7. log4j漏洞原理分析复现检测复盘
  8. python实现自动化抢微信红包功能_【Python】用Python实现微信自动化抢红包,再也不用担心抢不到红包了...
  9. 大数据需要数学好吗?
  10. 春招已至,大四学生如何撰写一份面试官愿意看的简历