java中文汉字转拼音
<dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.0</version>
</dependency>
1.上面包支持
2.下面代码
//获取首字母,第一个汉字的字母,后面的不获取
public static String getPinyinFirstChar(String name) throws BadHanyuPinyinOutputFormatCombination {char[] charArray = name.toCharArray();StringBuilder pinyin = new StringBuilder();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();// 设置大小写格式defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);// 设置声调格式:defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < charArray.length; i++) {//匹配中文,非中文转换会转换成nullif (Character.toString(charArray[i]).matches("[\\u4E00-\\u9FA5]+")) {String[] hanyuPinyinStringArray = PinyinHelper.toHanyuPinyinStringArray(charArray[i], defaultFormat);if (hanyuPinyinStringArray != null) {pinyin.append(hanyuPinyinStringArray[0].charAt(0));}break;}}return pinyin.toString();}//获取除首个中文拼音首字母外其他拼音private static String getStringPinyin(String name) throws BadHanyuPinyinOutputFormatCombination {char[] charArray = name.toCharArray();StringBuilder pinyin = new StringBuilder();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();//设置大小写格式defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);//设置声调格式:defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);boolean flag = true;for (int i = 0; i < charArray.length; i++) {String str = Character.toString(charArray[i]);//过滤 省 市 自治区 特别行政 回 壮族 这几个文字if(str.matches("[\\u7701|\\u7279|\\u522b|\\u884c|\\u653f|\\u56de|\\u65cf|\\u58ee|\\u81ea|\\u5e02|\\u6cbb|\\u533a]+")){continue;}//匹配中文,非中文转换会转换成nullif (str.matches("[\\u4E00-\\u9FA5]+")) {String[] hanyuPinyinStringArray = PinyinHelper.toHanyuPinyinStringArray(charArray[i],defaultFormat);if(flag){char[] chars = hanyuPinyinStringArray[0].toCharArray();StringBuilder temp = new StringBuilder();for (int j = 0 ; j < chars.length ; j ++){if(j == 0)continue;else{temp.append(chars[j]);}}pinyin.append(temp);flag = false;}else{String pin = hanyuPinyinStringArray[0];pinyin.append(pin);}} else {pinyin.append(charArray[i]);}}//System.err.println(pinyin);return pinyin.toString();}public static void main(String[] args) throws Exception {List<String> provinces = new ArrayList<>();provinces.add("北京市");provinces.add("天津市");provinces.add("河北省");provinces.add("山西省");provinces.add("内蒙古自治区");provinces.add("辽宁省");provinces.add("吉林省");provinces.add("黑龙江省");provinces.add("上海市");provinces.add("江苏省");provinces.add("浙江省");provinces.add("安徽省");provinces.add("福建省");provinces.add("江西省");provinces.add("山东省");provinces.add("河南省");provinces.add("湖北省");provinces.add("湖南省");provinces.add("广东省");provinces.add("广西壮族自治区");provinces.add("海南省");provinces.add("重庆市");provinces.add("四川省");provinces.add("贵州省");provinces.add("云南省");provinces.add("西藏自治区");provinces.add("陕西省");provinces.add("甘肃省");provinces.add("青海省");provinces.add("宁夏回族自治区");provinces.add("新疆维吾尔自治区");provinces.add("台湾省");provinces.add("香港特别行政区");provinces.add("澳门特别行政区");for (String province:provinces) {try {String pinyinFirstChar = getPinyinFirstChar(province);String stringPinyin = getStringPinyin(province);String provincePinyin = pinyinFirstChar + stringPinyin;System.out.println(provincePinyin);}catch (Exception e){e.printStackTrace();}}
}
3.效果-》
java中文汉字转拼音相关推荐
- java pinyin4j_java实现中文汉字转拼音 Pinyin4j的基本用法
一.前言 工作中有时候会遇到汉字拼音转换的需求,例如:用户首字母搜索某个内容的时候,wzry 可搜索 王者荣耀相关的. 这里推荐使用Pinyin4j,它是sourceforge.net上的一个开源项目 ...
- java实现中文汉字转拼音 Pinyin4j的基本用法
一.前言 工作中有时候会遇到汉字拼音转换的需求,例如:用户首字母搜索某个内容的时候,wzry 可搜索 王者荣耀相关的. 这里推荐使用Pinyin4j,它是sourceforge.net上的一个开源项目 ...
- JAVA实现汉字转换为拼音 pinyin4j/JPinyin
转载自 JAVA实现汉字转换为拼音 pinyin4j/JPinyin 在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,比如说通讯录,就会要求按名字首字符发音排序,如果自己写实现这方面的功能是个 ...
- java实现汉字转为拼音
java实现汉字转为拼音: 1.需要导入pinyin4j.jar package com.loo.pinyin; import net.sourceforge.pinyin4j.PinyinHelpe ...
- java 实现汉字转换拼音_Java实现汉字转换为拼音
# re: Java实现汉字转换为拼音 2006-11-24 15:06 芦苇 JAVA将汉字转化成拼音的方法 /** *//** ################################## ...
- java 实现汉字转拼音,java汉字简体转繁体 java汉字繁体转简体
java 实现汉字转拼音,java汉字简体转繁体 java汉字繁体转简体 一.前言 java实现汉字转拼音,我的思路是需要一个字符和拼音的映射库."我"=wo,"们&qu ...
- 【Java】汉字转拼音
[Java]汉字转拼音 将汉字转成拼音及汉字首字母,可以使用jar包 pingyin4j,但是遇到多音节汉字就会有问题.如果使用大名鼎鼎的jpinyin,可以自动识别常见多音字,而且还支持简体转换为繁 ...
- java 实现汉字转换拼音_JAVA实现汉字转拼音功能代码实例
JAVA中汉字转拼音的方法并不复杂,可以使用pinyin4j包来实现. 一.下载pinyin4j的架包,并导入项目中,如下: 如果是maven项目,maven依赖如下: com.belerweb pi ...
- mysql root dengru_Mysql学习Mysql中文汉字转拼音的实现(每个汉字转换全拼)
<Mysql学习Mysql中文汉字转拼音的实现(每个汉字转换全拼)>要点: 本文介绍了Mysql学习Mysql中文汉字转拼音的实现(每个汉字转换全拼),希望对您有用.如果有疑问,可以联系我 ...
- mysql中的汉字怎么转换_Mysql中文汉字转拼音的实现(每个汉字转换全拼)
一.创建拼音对照表 代码如下: -- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS `t_base_pinyin` ( `pin_yin_` varchar(255) ...
最新文章
- python项目实战:爬取无限火力大暴起全章节
- oracle sid环境变量,ORACLE_SID环境变量设置的问题
- BZOJ 2157: 旅游
- ajax 请求调用问题
- 高中计算机省赛试题,西店中学计算机信息学竞赛测试试卷、答题卷和答案(一)...
- saltstack远程操作WINDOWS的POWERSHELL脚本
- 宝岛探险1(DFS)
- 教孩子学编程python语言pdf_教孩子学编程 PYTHON语言版 PDF
- vertx web client 接收文件上传file-uploads及删除上传文件
- Win10系统在哪里卸载软件
- STM32互补PWM输出使能控制
- 前端常用js方法工具封装
- Windows实时视频通话SDK集成指引(实时视频系列三)
- 计算机开机界面图片怎么修改,Win10系统怎样更改电脑开机密码页面的图片
- 怎么把两段录音合并在一起?
- 5G 的三大应用场景——ITU-R原文
- 分享到QQ空间、新浪微博、腾讯微博和人人网
- developerworks文章
- Linux 连接 mycat
- 城市新56个漂泊族 你是哪漂泊一族?
热门文章
- Sea Level Anomaly 和 Sea Surface Height Anomaly 的区别
- 329例精选matlab算法原理及源码详解——老生谈算法
- java给出汉字“你”“我”“他”在Unicode表中的位置
- 最新获取展示B站UP主实时信息PHP源码分享
- 刹车盘的噪音测试软件,某车型盘式制动器尖叫噪声分析及改进
- 芯原股份正式加入UCIe产业联盟
- 学python数据分析心得体会800字_学习 Python 数据分析的正确姿势
- php format tool,usb 開機碟製作工具HP USB Disk Storage format Tool 2.23
- SENT协议译码的深入探讨
- 餐饮智能化:餐饮机器人正当时餐饮机器人的喜与忧