package com.zxy.timecard.utils;

import net.sourceforge.pinyin4j.PinyinHelper;

/**

* 拼音工具类

* @author ZENG.XIAO.YAN

* @date 2018年5月9日

*

*/

public class PinYinUtils {

/**

* 获取汉字首字母的方法。如: 张三 --> ZS

* 说明:暂时解决不了多音字的问题,只能使用取多音字的第一个音的方案

* @param hanzi 汉子字符串

* @return 大写汉子首字母; 如果都转换失败,那么返回null

*/

public static String getHanziInitials(String hanzi) {

String result = null;

if(null != hanzi && !"".equals(hanzi)) {

char[] charArray = hanzi.toCharArray();

StringBuffer sb = new StringBuffer();

for (char ch : charArray) {

// 逐个汉字进行转换, 每个汉字返回值为一个String数组(因为有多音字)

String[] stringArray = PinyinHelper.toHanyuPinyinStringArray(ch);

if(null != stringArray) {

sb.append(stringArray[0].charAt(0));

}

}

if(sb.length() > 0) {

result = sb.toString().toUpperCase();

}

}

return result;

}

/**

* 获取汉字拼音的方法。如: 张三 --> zhangsan

* 说明:暂时解决不了多音字的问题,只能使用取多音字的第一个音的方案

* @param hanzi 汉子字符串

* @return 汉字拼音; 如果都转换失败,那么返回null

*/

public static String getHanziPinYin(String hanzi) {

String result = null;

if(null != hanzi && !"".equals(hanzi)) {

char[] charArray = hanzi.toCharArray();

StringBuffer sb = new StringBuffer();

for (char ch : charArray) {

// 逐个汉字进行转换, 每个汉字返回值为一个String数组(因为有多音字)

String[] stringArray = PinyinHelper.toHanyuPinyinStringArray(ch);

if(null != stringArray) {

// 把第几声这个数字给去掉

sb.append(stringArray[0].replaceAll("\\d", ""));

}

}

if(sb.length() > 0) {

result = sb.toString();

}

}

return result;

}

public static void main(String[] args) {

System.out.println(PinYinUtils.getHanziInitials("袁素芳"));

System.out.println(PinYinUtils.getHanziPinYin("袁素芳"));

}

}

java 拼音转汉字_Java通过pinyin4j实现汉字转拼音相关推荐

  1. JAVA正则表达式怎么表达汉字_Java的正则表达式匹配汉字

    [Java 提供了功能强大的正则表达式API,在java.util.regex 包下.本教程介绍如何使用正则表达式API.] 刚才有同事问,顺便发出来记一下. 以前读<精通正则表达式>的时 ...

  2. java 随机生成常用汉字_Java随机生成中文汉字

    /** * 原理是从汉字区位码找到汉字.在汉字区位码中分高位与底位, 且其中简体又有繁体. * 位数越前生成的汉字繁体的机率越大. * 所以在本例中高位从171取,底位从161取, 去掉大部分的繁体和 ...

  3. java数字转为大写_java 数字转大写汉字

    packagecom.javens.test;importjava.util.HashMap;importjava.util.Map;/** * *@authorjavens *偶尔网上看到这个题目, ...

  4. java 中文分词转拼音_java 支持分词的高性能拼音转换工具, 速度是 pinyin4j 的两倍...

    java 支持分词的高性能拼音转换工具, 速度是 pinyin4j 的两倍 pinyin https://github.com/houbb/pinyin 是 java 实现的高性能中文拼音转换工具. ...

  5. java汉字的拼音首字母_Java 获取汉字的拼音首字母

    Java 获取汉字的拼音首字母: pom.xml 引用 pinyin4j 包: com.belerweb pinyin4j 2.5.0 PinyinUtil 类: package com.xxx.co ...

  6. java取拼音首字母_java怎么根据汉字获取字的拼音首字母

    展开全部 这里可以使用62616964757a686964616fe58685e5aeb931333363393633 pinyin4. jar包来进行转化,pinyin4. jar可以自行在网上进行 ...

  7. java 拼音模糊查询_java实现首字母模糊查询的功能

    ①,要实现首字母模糊匹配,首先我们需要得到你要搜索内容的首字母,对于java来说,有一个非常实用的包:pinyin4j.jar. 这个拼音包中的PinyinHelper 方法可以得到String的首字 ...

  8. 利用 pinyin4j 把汉字转化为拼音

    1.     简单介绍 有时候,需要将汉字编程对应的拼音,以方便数据的处理.比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的.比如要查询"曹孟德" ...

  9. JAVA pinyin4j 中文多音字转拼音转字母大写

    JAVA pinyin4j 中文多音字转拼音转字母大写; class PinyinTool { /*** 解析并组合拼音,对象合并方案** @return*/ private static Strin ...

最新文章

  1. ATS 4.2.3自定义日志文件格式的方法
  2. C# 指定字符串截取方法
  3. IE8中HTTP连接数目的变化
  4. 使用docker-compose配置redis服务
  5. SAP Spartacus pagefold学习笔记
  6. matlab的fftn,matlab fftn
  7. mfc formview中的关闭视图函数_VC|API消息处理(回调函数+分支语句)与MFC中的消息映射函数...
  8. sqlplus 主键 设置_浅谈MyBatis-Plus学习之Oracle的主键Sequence设置
  9. Javascript特效:照片墙
  10. mac移动硬盘未装载解决方案
  11. 六 Python 字典与集合
  12. 计算机网络与云技术计算,计算机网络云计算技术(原稿)
  13. 计算机对操作系统函数的调用失败,解决win7提示“远程过程调用失败且未执行”的方案...
  14. Android反编译工具与反编译步骤及常见问题
  15. HEVC解码器HM源码阅读(三)读取一个NALU
  16. 类的成员函数作为函数指针
  17. win10快速关机_如何让win10开机默认开启小键盘?
  18. 和自己赛跑的人 —不要怕、不后悔!
  19. groovy if 判断字符串_Groovy快速入门看这篇就够了
  20. ABP 详解系列9:基于ABP框架实现RBAC(角色访问控制)

热门文章

  1. 【原创】MacOS 安装 homebrew-cask
  2. 如果更有效预防应力作用?PCB设计如何考虑应力作用? 应力对元器件失效问题的讨论
  3. 时空同步图卷积网络:时空网络数据预测的新框架
  4. 基于微信小程序的RSS订阅器
  5. 1.2 行列式的性质和计算
  6. 资产管理之输油管线RFID资产管理解决方案,避免人为破坏资产-新导智能
  7. PHP接入快递鸟查询快递
  8. NAO6机器人python环境完整搭建
  9. brpc源码学习(二)-bthread的创建与切换
  10. git 进阶系列教程-------git使用流程