一、说明

很多时候我们都会需要把汉字转化成拼音,方便我们使用。举个栗子:登录场景,客户提供的是一个中文名字,要做成登录,可是用中文名字来登录总是不太好,而且很容易造成乱码的情况出现。所以我们需要把中文登录名转成英文登录名。比如:“张三”需要装成“zhangsan”。下面博主就来使用java编写一个工具类来实现这个需求。

二、效果图

啥也不多说,先直接上效果图。

如果这是你要的效果,那么你可以继续往下看了。

三、准备工作

下载jar,本功能实现用到了一个jar,pinyin4j。大家可以直接 点击下载 ,或者使用下面的pom文件。

<!-- https://mvnrepository.com/artifact/com.belerweb/pinyin4j -->
<dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.1</version>
</dependency>

四、实现代码

package top.zywork.service;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.exception.BadHanyuPinyinOutputFormatCombination;/*** 汉字转换为拼音* @author Wjhsmart*/
public class StringUtilsTest {/*** 测试main方法* @param args*/public static void main(String[] args) {System.out.println("‘张三’首字母大写:" + toFirstChar("张三").toUpperCase()); //转为首字母大写System.out.println("‘张三’转成拼音:" + toPinyin("张三"));}/*** 获取字符串拼音的第一个字母* @param chinese* @return*/public static String toFirstChar(String chinese){String pinyinStr = "";char[] newChar = chinese.toCharArray();  //转为单个字符HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < newChar.length; i++) {if (newChar[i] > 128) {try {pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0].charAt(0);} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}}else{pinyinStr += newChar[i];}}return pinyinStr;}/*** 汉字转为拼音* @param chinese* @return*/public static String toPinyin(String chinese){String pinyinStr = "";char[] newChar = chinese.toCharArray();HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for (int i = 0; i < newChar.length; i++) {if (newChar[i] > 128) {try {pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0];} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}}else{pinyinStr += newChar[i];}}return pinyinStr;}
}

五、写在最后

这2个方法可以自己封装成工具类,然后直接使用。如果你觉得本文对你有帮助,动动手指帮忙点个赞可好?

Java 实现中文汉字转拼音相关推荐

  1. java实现中文汉字转拼音 Pinyin4j的基本用法

    一.前言 工作中有时候会遇到汉字拼音转换的需求,例如:用户首字母搜索某个内容的时候,wzry 可搜索 王者荣耀相关的. 这里推荐使用Pinyin4j,它是sourceforge.net上的一个开源项目 ...

  2. java pinyin4j_java实现中文汉字转拼音 Pinyin4j的基本用法

    一.前言 工作中有时候会遇到汉字拼音转换的需求,例如:用户首字母搜索某个内容的时候,wzry 可搜索 王者荣耀相关的. 这里推荐使用Pinyin4j,它是sourceforge.net上的一个开源项目 ...

  3. JAVA pinyin4j 中文多音字转拼音转字母大写

    JAVA pinyin4j 中文多音字转拼音转字母大写; class PinyinTool { /*** 解析并组合拼音,对象合并方案** @return*/ private static Strin ...

  4. mysql root dengru_Mysql学习Mysql中文汉字转拼音的实现(每个汉字转换全拼)

    <Mysql学习Mysql中文汉字转拼音的实现(每个汉字转换全拼)>要点: 本文介绍了Mysql学习Mysql中文汉字转拼音的实现(每个汉字转换全拼),希望对您有用.如果有疑问,可以联系我 ...

  5. mysql中的汉字怎么转换_Mysql中文汉字转拼音的实现(每个汉字转换全拼)

    一.创建拼音对照表 代码如下: -- 创建汉字拼音对照临时表 CREATE TABLE IF NOT EXISTS `t_base_pinyin` ( `pin_yin_` varchar(255) ...

  6. 中文汉字转换拼音PHP类

    1 <?php 2 /** 3 * 中文汉字转换拼音类 4 * 功能支持 5 * 1.支持中文转换全拼 6 * 2.支持中文转换简拼(首字母) 7 * 3.支持转换的字符串返回格式设置(字符中间 ...

  7. mysql转拼音首字母大写_Mysql中文汉字转拼音的实现  mysql首字母转化为大写

    这篇文章主要介绍了Mysql中文汉字转拼音的实现,并且每个汉字会转换全拼,使用Mysql自定义函数实现,需要的朋友可以参考下 第一步:我们将在mysql中新建必要的函数 一.创建拼音对照表 -- 创建 ...

  8. 中文汉字转拼音——大写(默认),小写,首字母大写

    ...好吧先上效果图~ 主要代码: public class MainActivity extends Activity {private TextView tv_test;String str = ...

  9. java实现将汉字转为拼音

    原文:java实现将汉字转为拼音 有时候为了方便操作程序的开发,需要将汉字转为拼音等操作.下面这个是自己结合网上的资料,加上自己在公司项目中的亲自实践.完整的实现了将汉字转为拼音的操作.这个Demo只 ...

  10. java实现中文汉字转中文全拼和拼音首字母缩写的方法

    用户为新建产品命名时通常使用中文,而假如后台需要根据用户输入的中文名称进行字段拼接时,就需要将中文汉字转化为中文.所以就用到了pinyin4j这个java工具包(官方网站:http://pinyin4 ...

最新文章

  1. java跨函数跳转_C语言中将绝对地址转换为函数指针以及跳转到内存指定位置处执行的技巧...
  2. too many indices for tensor of dimension 3
  3. Lab_2 OSPF
  4. 浅谈Junit测试中反射和Jmock的应用
  5. 2019蓝桥杯省赛---java---B---2(不同子串)
  6. mysql设置success信息_【原创】MySQL Cluster安装部署(Success)
  7. mysql navicat报表_使用Navicat定时备份mysql数据库和创建报表并邮件自动发送
  8. Leetcode 647.回文子串
  9. java 访问 https网站_解决java访问https网站报错的问题
  10. 西门子cpu指示灯含义_CPU中的指示灯亮的意思
  11. 学习笔记:简谈boost升压电路
  12. kmeans设置中心_kmeans算法
  13. Jeff Dean三执笔:一文看尽2020年谷歌AI重大突破
  14. 工作表保护密码忘了怎么办?
  15. C语言实现钢琴块小游戏(低仿拉胯版)
  16. ppt画深度学习网络图-立体网络模块
  17. 人脸脸部识别技术_面部识别技术的道德安全问题
  18. iQOO来了,vivo真的走了一步好棋?
  19. TikTok视频流量黄金发布时间
  20. 游戏开发计划——数据元素设计(人物)

热门文章

  1. Java编写一个小游戏
  2. 利用VB.Net 通过Windows Sockets (Winsock)以及多线程编程进行桌面电脑与Pocket PC间的双向通信
  3. 单片机C 语言程序设计教程,基于51单片机的C语言程序设计教程.doc
  4. python编写2的n次方_2的n次方(python计算2的n次方的算法)
  5. 共享文件服务器管理软件,企业共享文件管理软件 局域网文件共享工具的选择...
  6. 局域网共享工具_win10一键共享工具免费版(快速解决局域网文件共享问题)官方版...
  7. 孔浩老师的CMS项目源码部署问题
  8. numpy 1.22.1 基本语法
  9. PickerView
  10. android pickerview 多行,Android仿ios条件选择器pickerview