Java汉字转成汉语拼音工具类
发布时间 - 2026-01-11 01:07:27 点击率:次Java汉字转成汉语拼音工具类,需要用到pinyin4j.jar包.
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 HanyuPinyinHelper {
/**
* 将文字转为汉语拼音
* @param chineselanguage 要转成拼音的中文
*/
public String toHanyuPinyin(String ChineseLanguage){
char[] cl_chars = ChineseLanguage.trim().toCharArray();
String hanyupinyin = "";
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 输出拼音全部小写
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调
defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V) ;
try {
for (int i=0; i<cl_chars.length; i++){
if (String.valueOf(cl_chars[i]).matches("[\u4e00-\u9fa5]+")){// 如果字符是中文,则将中文转为汉语拼音
hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(cl_chars[i], defaultFormat)[0];
} else {// 如果字符不是中文,则不转换
hanyupinyin += cl_chars[i];
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
System.out.println("字符不能转成汉语拼音");
}
return hanyupinyin;
}
public static String getFirstLettersUp(String ChineseLanguage){
return getFirstLetters(ChineseLanguage ,HanyuPinyinCaseType.UPPERCASE);
}
public static String getFirstLettersLo(String ChineseLanguage){
return getFirstLetters(ChineseLanguage ,HanyuPinyinCaseType.LOWERCASE);
}
public static String getFirstLetters(String ChineseLanguage,HanyuPinyinCaseType caseType) {
char[] cl_chars = ChineseLanguage.trim().toCharArray();
String hanyupinyin = "";
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(caseType);// 输出拼音全部大写
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调
try {
for (int i = 0; i < cl_chars.length; i++) {
String str = String.valueOf(cl_chars[i]);
if (str.matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,则将中文转为汉语拼音,并取第一个字母
hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(cl_chars[i], defaultFormat)[0].substring(0, 1);
} else if (str.matches("[0-9]+")) {// 如果字符是数字,取数字
hanyupinyin += cl_chars[i];
} else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母
hanyupinyin += cl_chars[i];
} else {// 否则不转换
hanyupinyin += cl_chars[i];//如果是标点符号的话,带着
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
System.out.println("字符不能转成汉语拼音");
}
return hanyupinyin;
}
public static String getPinyinString(String ChineseLanguage){
char[] cl_chars = ChineseLanguage.trim().toCharArray();
String hanyupinyin = "";
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 输出拼音全部大写
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调
try {
for (int i = 0; i < cl_chars.length; i++) {
String str = String.valueOf(cl_chars[i]);
if (str.matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,则将中文转为汉语拼音,并取第一个字母
hanyupinyin += PinyinHelper.toHanyuPinyinStringArray(
cl_chars[i], defaultFormat)[0];
} else if (str.matches("[0-9]+")) {// 如果字符是数字,取数字
hanyupinyin += cl_chars[i];
} else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母
hanyupinyin += cl_chars[i];
} else {// 否则不转换
}
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
System.out.println("字符不能转成汉语拼音");
}
return hanyupinyin;
}
/**
* 取第一个汉字的第一个字符
* @Title: getFirstLetter
* @Description: TODO
* @return String
* @throws
*/
public static String getFirstLetter(String ChineseLanguage){
char[] cl_chars = ChineseLanguage.trim().toCharArray();
String hanyupinyin = "";
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);// 输出拼音全部大写
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 不带声调
try {
String str = String.valueOf(cl_chars[0]);
if (str.matches("[\u4e00-\u9fa5]+")) {// 如果字符是中文,则将中文转为汉语拼音,并取第一个字母
hanyupinyin = PinyinHelper.toHanyuPinyinStringArray(
cl_chars[0], defaultFormat)[0].substring(0, 1);;
} else if (str.matches("[0-9]+")) {// 如果字符是数字,取数字
hanyupinyin += cl_chars[0];
} else if (str.matches("[a-zA-Z]+")) {// 如果字符是字母,取字母
hanyupinyin += cl_chars[0];
} else {// 否则不转换
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
System.out.println("字符不能转成汉语拼音");
}
return hanyupinyin;
}
public static void main(String[] args) {
HanyuPinyinHelper hanyuPinyinHelper = new HanyuPinyinHelper() ;
System.out.println(hanyuPinyinHelper.toHanyuPinyin("多发的发独守空房阿道夫打发第三方"));
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# java汉字转成拼音工具类
# java汉字转成汉语拼音
# java汉字转成拼音
# java中将汉字转换成拼音的实现代码
# JAVA实现汉字转拼音功能代码实例
# Java汉字转拼音pinyin4j用法详解
# Java实现将汉字转化为汉语拼音的方法
# java实现汉字转拼音
# Java汉字转拼音工具类完整代码实例
# Java汉字转拼音案例详解
# Java汉字转换拼音(大小写)实例详解
# 第一个
# 转成
# 不带
# 则将
# 带着
# 第三方
# 多发
# 大家多多
# 独守
# 阿道夫
# toHanyuPinyin
# HanyuPinyinHelper
# public
# param
# chineselanguage
# String
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么上传文件_Laravel图片上传及存储配置
如何在阿里云虚拟主机上快速搭建个人网站?
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
今日头条AI怎样推荐抢票工具_今日头条AI抢票工具推荐算法与筛选【技巧】
Laravel如何编写单元测试和功能测试?(PHPUnit示例)
浅谈Javascript中的Label语句
laravel怎么在请求结束后执行任务(Terminable Middleware)_laravel Terminable Middleware请求结束任务执行方法
Laravel如何实现用户密码重置功能?(完整流程代码)
Laravel怎么判断请求类型_Laravel Request isMethod用法
Laravel如何使用Eloquent进行子查询
Laravel安装步骤详细教程_Laravel环境搭建指南
Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程
在Oracle关闭情况下如何修改spfile的参数
北京专业网站制作设计师招聘,北京白云观官方网站?
Python文件操作最佳实践_稳定性说明【指导】
Laravel如何实现用户角色和权限系统_Laravel角色权限管理机制
Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】
如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)
小米17系列还有一款新机?主打6.9英寸大直屏和旗舰级影像
香港服务器建站指南:免备案优势与SEO优化技巧全解析
网站优化排名时,需要考虑哪些问题呢?
文字头像制作网站推荐软件,醒图能自动配文字吗?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
如何制作一个表白网站视频,关于勇敢表白的小标题?
怎么用AI帮你为初创公司进行市场定位分析?
C++时间戳转换成日期时间的步骤和示例代码
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
微信小程序 闭包写法详细介绍
香港网站服务器数量如何影响SEO优化效果?
Laravel如何实现数据导出到PDF_Laravel使用snappy生成网页快照PDF【方案】
Laravel怎么实现验证码(Captcha)功能
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?
Python文件异常处理策略_健壮性说明【指导】
linux写shell需要注意的问题(必看)
太平洋网站制作公司,网络用语太平洋是什么意思?
如何在建站之星绑定自定义域名?
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
如何破解联通资金短缺导致的基站建设难题?
使用豆包 AI 辅助进行简单网页 HTML 结构设计
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
如何在IIS中新建站点并解决端口绑定冲突?
JavaScript数据类型有哪些_如何准确判断一个变量的类型
Laravel如何与Pusher实现实时通信?(WebSocket示例)
Laravel Livewire是什么_使用Laravel Livewire构建动态前端界面
实现点击下箭头变上箭头来回切换的两种方法【推荐】
Laravel如何使用Blade模板引擎?(完整语法和示例)
javascript基本数据类型及类型检测常用方法小结
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?

