Java获取汉字对应的拼音(全拼或首字母)
这篇文章主要介绍了Java如何获取汉字对应的拼音(全拼或首字母),文中实现的方法是引用了pinyin4j-2.5.0.jar,然后给出了完整的示例代码,有需要的朋友可以参考借鉴,下面来一起看看吧。
Java 根据汉语字符串获得对应的拼音字符串或者拼音首字母字符串等操作,需要添加jar包:
引入pinyin4j-2.5.0.jar包
代码实现:
package com.smartTerminal.utils;import java.util.regex.Matcher;
import java.util.regex.Pattern;import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
/**** 汉字工具类* @author wantao* @since 2018.10.26**/
public class ChineseCharacterUtil {/**** 将汉字转成拼音(取首字母或全拼)* @param hanzi* @param full 是否全拼* @return*/public static String convertHanzi2Pinyin(String hanzi,boolean full){/**** ^[\u2E80-\u9FFF]+$ 匹配所有东亚区的语言* ^[\u4E00-\u9FFF]+$ 匹配简体和繁体* ^[\u4E00-\u9FA5]+$ 匹配简体*/String regExp="^[\u4E00-\u9FFF]+$";StringBuffer sb=new StringBuffer();if(hanzi==null||"".equals(hanzi.trim())){return "";}String pinyin="";for(int i=0;i<hanzi.length();i++){char unit=hanzi.charAt(i);if(match(String.valueOf(unit),regExp))//是汉字,则转拼音{pinyin=convertSingleHanzi2Pinyin(unit);if(full){sb.append(pinyin);}else{sb.append(pinyin.charAt(0));}}else{sb.append(unit);}}return sb.toString();}/**** 将单个汉字转成拼音* @param hanzi* @return*/private static String convertSingleHanzi2Pinyin(char hanzi){HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);String[] res;StringBuffer sb=new StringBuffer();try {res = PinyinHelper.toHanyuPinyinStringArray(hanzi,outputFormat);sb.append(res[0]);//对于多音字,只用第一个拼音} catch (Exception e) {e.printStackTrace();return "";}return sb.toString();}/**** @param str 源字符串* @param regex 正则表达式* @return 是否匹配*/public 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) {System.out.println(convertHanzi2Pinyin("我是中国人123abc",true));}
}
Java获取汉字对应的拼音(全拼或首字母)相关推荐
- java获取汉字拼音_Java获取汉字对应的拼音(全拼或首字母)
Java 根据汉语字符串获得对应的拼音字符串或者拼音首字母字符串等操作,需要添加jar包: 代码实现: import java.util.regex.Matcher; import java.util ...
- java全拼_Java获取汉字对应的拼音(全拼或首字母)
java 根据汉语字符串获得对应的拼音字符串或者拼音首字母字符串等操作,需要添加jar包: 引入包 代码实现: import java.util.regex.matcher; import java. ...
- vba 全拼_[求助]如何把中文名字转换为拼音(全拼、首字母)
你的位置: 问答吧 -> excel -> 问题详情 [求助]如何把中文名字转换为拼音(全拼.首字母) 现需要把中文名字的拼音做企业邮箱的名字,姓用全拼,名用首字母,比如刘翔为liux,应 ...
- Java汉字转拼音(全拼、首字母拼)
Java汉字转拼音(全拼.首字母拼) public class ChineseToEnglish { /*** 汉字转拼音* @param src* @return*/public static St ...
- 将中文汉字转换成拼音(全拼)
using System.Globalization; using System.Text; using System.Text.RegularExpressions;/// <summary& ...
- python缩写转换成全拼_Python中文转拼音代码(支持全拼和首字母缩写)
#!/usr/bin/env python # -*- coding:utf-8 -*- """ 原版代码:https://github.com/cleverdeng/p ...
- select2下拉搜索框匹配汉字全拼及首字母
(注:原文出自qq_33142257的博客http://blog.csdn.net/qq_33142257/article/details/52575823) 最近,项目中需要在使用选择搜索框时进行汉 ...
- select2通过全拼及首字母匹配汉字
(注:原文出自qq_33142257的博客http://blog.csdn.net/qq_33142257/article/details/52575823 以及qq_28685573的博客http: ...
- java 汉字转换全拼、首字母拼音
最近接到需求,要求商城中进行半模糊搜索时,输入拼音字母同样要求进行自动匹配出相关品牌.类目.关键词等数据,从而进行筛选商品 本片内容只记录汉字转换拼音 方案一:在mysql数据库中编写函数,此方法存在 ...
- java汉字获取全拼、首字母
1.pom中引入包 <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j< ...
最新文章
- JavaScript 同时建立多个websocket连接
- 统计决策理论1 统计问题与统计决策
- 全球及中国枕式自动包装机行业需求现状与投资机会评估报告2022-2027年版
- 2013 javaB1 世纪末的日期
- 页面缓存处理的几种方法
- PAT之气死人不偿命的3n+1猜想
- 利用VBA在EXCLE2010和2007中找回2003式的经典菜单和工具栏
- mysql 5.6 emoji_让MySQL 5.6支持Emoji表情
- VMware SDS 之一:什么是VSAN??
- 洛谷P5108 仰望半月的夜空(后缀数组)
- 密码学-代数数论基本知识
- 泛微OA漏洞(综合)
- 计算机桌面怎么分区域,怎样设置电脑桌面的区域分割?
- 如何使用PDF编辑器裁剪PDF页面
- php裂变函数,python实现红包裂变算法
- 文件系统FAT32与NTFS
- FlashFXP基本使用教程
- LFY-SpringBoot1【课程概述、springboot2概述】
- 打印机一直在打印不停止的问题
- dell服务器显示器fre,戴尔发布Gaming 24/27游戏显示器新品 支持144/155Hz FreeSync
热门文章
- Unity插件——Odin 学习笔记(一)
- 联想笔记本重装系统声卡驱动未安装报错代码28,声音图标显示红叉没有声音
- 15+在线网页按钮生成器工具
- 前加加 后加加 ++ 详解
- python爬微博数据合法吗_爬取新浪微博数据(python)
- 对等局域网操作系统有几台服务器,局域网软件知识
- java redis令牌桶_redis实现的简单令牌桶
- 联想用u盘重装系统步骤_如何使用U盘重装系统?使用U盘重装系统步骤详解
- 计算机电脑哪个是复位键,电脑一键还原按哪个键
- 计算机桌面图标乱了,如何解决电脑桌面图标乱跑的问题