pom.xml导入pinyin4j的依赖

com.belerweb

pinyin4j

2.5.1

汉字转拼音工具类package com.bizcloud.function;

import net.sourceforge.pinyin4j.PinyinHelper;

import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;

import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;

import java.util.regex.Matcher;

import java.util.regex.Pattern;

/**

* @java 项目 www.fhadmin.org

* @version 1.0

* @since 2020/12/23 6:29 下午

*/

public class ChineseCharacterUtils {

/**

* 将单个汉字转成拼音

*

* @param chinese 汉字字符

* @return 拼音

*/

public static String chineseCharConversionPinyin(char chinese) {

HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();

outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

String[] res;

StringBuilder stringBuilder = new StringBuilder();

try {

res = PinyinHelper.toHanyuPinyinStringArray(chinese, outputFormat);

//对于多音字,只用第一个拼音

stringBuilder.append(res[0]);

} catch (Exception e) {

e.printStackTrace();

return "";

}

return stringBuilder.toString();

}

/**

* 将汉字转成拼音,取首字母或全拼

*

* @param chinese 汉字字符串

* @param isFull  是否全拼

* @return 拼音

*/

public static String chineseConversionPinyin(String chinese, boolean isFull) {

// ^[\u2E80-\u9FFF]+$ 匹配所有东亚区的语言

// ^[\u4E00-\u9FFF]+$ 匹配简体和繁体

// ^[\u4E00-\u9FA5]+$ 匹配简体

String regExp = "^[\u4E00-\u9FFF]+$";

StringBuilder stringBuilder = new StringBuilder();

if (chinese == null || "".equals(chinese.trim())) {

return "";

}

String pinyin = "";

for (int i = 0; i

char unit = chinese.charAt(i);

//是汉字,则转拼音

if (match(String.valueOf(unit), regExp)) {

pinyin = chineseCharConversionPinyin(unit);

if (isFull) {

stringBuilder.append(pinyin);

} else {

stringBuilder.append(pinyin.charAt(0));

}

} else {

stringBuilder.append(unit);

}

}

return stringBuilder.toString();

}

/**

* 根据字符和正则表达式进行匹配

*

* @param str   源字符串

* @param regex 正则表达式

* @return true:匹配成功  false:匹配失败

*/

private static boolean match(String str, String regex) {

Pattern pattern = Pattern.compile(regex);

Matcher matcher = pattern.matcher(str);

return matcher.find();

}

public static void main(String[] args) {

char sex = '男';

String chineseCharConversionPinyin = chineseCharConversionPinyin(sex);

//nan

System.out.println(chineseCharConversionPinyin);

String str = "你好,中国";

String chineseConversionPinyin = chineseConversionPinyin(str, false);

//nh,zg或者nihao,zhongguo

System.out.println(chineseConversionPinyin);

}

}

java获取汉字拼音_Java 根据汉字获取其拼音相关推荐

  1. java 实现汉字转换拼音_JAVA实现汉字转拼音功能代码实例

    JAVA中汉字转拼音的方法并不复杂,可以使用pinyin4j包来实现. 一.下载pinyin4j的架包,并导入项目中,如下: 如果是maven项目,maven依赖如下: com.belerweb pi ...

  2. java 判断汉字音调_Java中汉字转拼音pinyin4j用法实例分析

    本文实例讲述了Java中汉字转拼音pinyin4j用法.分享给大家供大家参考,具体如下: 汉字转换拼音在日常开发中是个很常见的问题.例如我们伟大的12306,在地名中输入"WH", ...

  3. java 获取webcontent目录_java web项目获取src和WebContent目录下的配置文件

    1.首先上目录结构: 2.部署到tomcat,在servlet中测试,测试代码: package test; import java.io.IOException; import java.io.In ...

  4. java 中文转成_Java实现汉字转换为拼音 [转]

    代码说明: Java实现汉字转换为拼音的GUI版本. GUI代码部分: /** * @(#)CnToSpellGUI.java * kindani * 2004-10-25?? * */ import ...

  5. java把汉字转换成拼音_Java实现汉字转换为拼音

    本文的核心代码取自easydozer的blog:http://blog.csdn.net/easydozer/ 代码说明: Java实现汉字转换为拼音的GUI版本. GUI代码部分: /** * @( ...

  6. java 实现汉字转换拼音_Java实现汉字转换为拼音

    # re: Java实现汉字转换为拼音 2006-11-24 15:06 芦苇 JAVA将汉字转化成拼音的方法 /** *//** ################################## ...

  7. java 判断汉字音调_JAVA实现汉字转换为拼音 自动识别常用多音字 JPinyin

    JAVA实现汉字转换为拼音 自动识别常用多音字 JPinyin 使用JPinyin,可以实现汉字转换为拼音,并自动识别常用多音字,还支持简体转换为繁体,检查是否为简体,是否为繁体,是否为中文字符等功能 ...

  8. java 汉字转拼音_java中将汉字转换成拼音的实现代码

    一:演示:       如在控制台输入:北京欢迎你 打印出来的拼音:bei jing huan ying ni 二:导入要依赖的jar: 三:代码编写 public static String get ...

  9. java将字符转换成拼音_java中将汉字转换成拼音的实现代码

    一:演示: 如在控制台输入:北京欢迎你 打印出来的拼音:bei jing huan ying ni 二:导入要依赖的jar: 汉字转换拼音jar下载 三:代码编写 代码如下: public stati ...

最新文章

  1. freebsd mysql删_FreeBSD 下 mysql 的相关问题
  2. Oracle 10g Toad查看 表空间 报错 ORA-00600 internal error code arguments [ktfbhget-4], [6], [5]...
  3. java的并发框架_java并发框架有哪些
  4. win7配置计算机失败还原更改,win7配置失败如何处理?win7配置失败还原更改教程...
  5. exchange 2010 集线器(hub)外发邮件的配置
  6. 【定区管理功能】定区列表分页条件查询
  7. np读取csv文件_pandas.read_csv函数参数详解
  8. halcon对光源打光不均匀进行平场矫正
  9. SpringCloud局部过滤器自定义
  10. 上传本地项目到gitee_用git上传本地文件到码云gitee的方法
  11. 机器视觉技术及应用_工业机器人视觉技术的应用前景
  12. The 2nd AI on Fashion and Textile International Conference 2019
  13. 高效能程序员的七个习惯
  14. cisco 的网络地址转换技术(NAT)
  15. ecshop index.php,]ECSHOP 源码分析(install/index.php1)
  16. 苹果手机换android,我从苹果手机换回了安卓手机,是怎样的体验呢?
  17. Typora里如何调整图片大小
  18. 希捷移动硬盘更换文件系统(exfat vs NTFS)
  19. Excel 删除一行的快捷键
  20. 计算机无法识别fat32,电脑无法识别USB设备的原因及处理方法

热门文章

  1. 农村土地确权之调查公示 —— 地块分布图制作说明
  2. 幼麟棋牌创建房间简短分析
  3. C++核心编程(中)
  4. 【博学谷学习记录】超强总结,用心分享 | 前端开发 前端基础超详细总结-上篇
  5. 解决linux不能上外网
  6. 收缩毛孔全过程,很详细! - 健康程序员,至尚生活!
  7. 微信永久封号怎么解封?微信社交场景被限制解决办法
  8. 最快的计算机操作,自学电脑操作怎样比较快?
  9. 使用svg-sprite-loader 遇到的问题
  10. synctoy 自动运行_安排SyncToy在Windows 7中使用Task Scheduler自动运行