java获取汉字拼音_Java 根据汉字获取其拼音
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 根据汉字获取其拼音相关推荐
- java 实现汉字转换拼音_JAVA实现汉字转拼音功能代码实例
JAVA中汉字转拼音的方法并不复杂,可以使用pinyin4j包来实现. 一.下载pinyin4j的架包,并导入项目中,如下: 如果是maven项目,maven依赖如下: com.belerweb pi ...
- java 判断汉字音调_Java中汉字转拼音pinyin4j用法实例分析
本文实例讲述了Java中汉字转拼音pinyin4j用法.分享给大家供大家参考,具体如下: 汉字转换拼音在日常开发中是个很常见的问题.例如我们伟大的12306,在地名中输入"WH", ...
- java 获取webcontent目录_java web项目获取src和WebContent目录下的配置文件
1.首先上目录结构: 2.部署到tomcat,在servlet中测试,测试代码: package test; import java.io.IOException; import java.io.In ...
- java 中文转成_Java实现汉字转换为拼音 [转]
代码说明: Java实现汉字转换为拼音的GUI版本. GUI代码部分: /** * @(#)CnToSpellGUI.java * kindani * 2004-10-25?? * */ import ...
- java把汉字转换成拼音_Java实现汉字转换为拼音
本文的核心代码取自easydozer的blog:http://blog.csdn.net/easydozer/ 代码说明: Java实现汉字转换为拼音的GUI版本. GUI代码部分: /** * @( ...
- java 实现汉字转换拼音_Java实现汉字转换为拼音
# re: Java实现汉字转换为拼音 2006-11-24 15:06 芦苇 JAVA将汉字转化成拼音的方法 /** *//** ################################## ...
- java 判断汉字音调_JAVA实现汉字转换为拼音 自动识别常用多音字 JPinyin
JAVA实现汉字转换为拼音 自动识别常用多音字 JPinyin 使用JPinyin,可以实现汉字转换为拼音,并自动识别常用多音字,还支持简体转换为繁体,检查是否为简体,是否为繁体,是否为中文字符等功能 ...
- java 汉字转拼音_java中将汉字转换成拼音的实现代码
一:演示: 如在控制台输入:北京欢迎你 打印出来的拼音:bei jing huan ying ni 二:导入要依赖的jar: 三:代码编写 public static String get ...
- java将字符转换成拼音_java中将汉字转换成拼音的实现代码
一:演示: 如在控制台输入:北京欢迎你 打印出来的拼音:bei jing huan ying ni 二:导入要依赖的jar: 汉字转换拼音jar下载 三:代码编写 代码如下: public stati ...
最新文章
- freebsd mysql删_FreeBSD 下 mysql 的相关问题
- Oracle 10g Toad查看 表空间 报错 ORA-00600 internal error code arguments [ktfbhget-4], [6], [5]...
- java的并发框架_java并发框架有哪些
- win7配置计算机失败还原更改,win7配置失败如何处理?win7配置失败还原更改教程...
- exchange 2010 集线器(hub)外发邮件的配置
- 【定区管理功能】定区列表分页条件查询
- np读取csv文件_pandas.read_csv函数参数详解
- halcon对光源打光不均匀进行平场矫正
- SpringCloud局部过滤器自定义
- 上传本地项目到gitee_用git上传本地文件到码云gitee的方法
- 机器视觉技术及应用_工业机器人视觉技术的应用前景
- The 2nd AI on Fashion and Textile International Conference 2019
- 高效能程序员的七个习惯
- cisco 的网络地址转换技术(NAT)
- ecshop index.php,]ECSHOP 源码分析(install/index.php1)
- 苹果手机换android,我从苹果手机换回了安卓手机,是怎样的体验呢?
- Typora里如何调整图片大小
- 希捷移动硬盘更换文件系统(exfat vs NTFS)
- Excel 删除一行的快捷键
- 计算机无法识别fat32,电脑无法识别USB设备的原因及处理方法