返回顶部
首页 > 资讯 > 精选 >Java汉字转成汉语拼音工具类
  • 866
分享到

Java汉字转成汉语拼音工具类

java汉字拼音 2023-05-31 14:05:29 866人浏览 薄情痞子
摘要

Java汉字转成汉语拼音工具类,需要用到pinyin4j.jar包.import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.fORMat.Ha

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 {    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;  }    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("多发的发独守空房阿道夫打发第三方"));  }}

--结束END--

本文标题: Java汉字转成汉语拼音工具类

本文链接: https://lsjlt.com/news/226316.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Java汉字转成汉语拼音工具类
    Java汉字转成汉语拼音工具类,需要用到pinyin4j.jar包.import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.pinyin4j.format.Ha...
    99+
    2023-05-31
    java 汉字 拼音
  • Java实现的汉语拼音工具类完整实例
    本文实例讲述了Java实现的汉语拼音工具类。分享给大家供大家参考,具体如下:package test;import net.sourceforge.pinyin4j.PinyinHelper;import net.sourceforge.p...
    99+
    2023-05-30
    java 拼音 工具类
  • Java汉字转拼音案例详解
    一、引入Maven依赖 <dependency> <groupId>com.belerweb</groupId> <artifact...
    99+
    2024-04-02
  • C#实现汉字转汉语拼音的示例代码
    目录一、使用PinYinConverterCore获取汉语拼音二、编写工具扩展类实现获取汉字的拼音三、编写测试用例一、使用PinYinConverterCore获取汉语拼音 最新在做...
    99+
    2024-04-02
  • Java 汉字获取拼音或首字母工具类代码分析
    本文主要介绍Java中,将字符串中的中文转化为拼音,获取汉字串拼音首字母,获取汉字串拼音的工具类,以及相关的示例代码。 1、Maven依赖配置(pom.xml) <depe...
    99+
    2024-04-02
  • 基于Python实现简单的汉字拼音转换工具
    目录1.准备2.基本使用3.高级使用将汉字转为拼音,可以用于批量汉字注音、文字排序、拼音检索文字等常见场景。 现在互联网上有许多拼音转换工具,基于Python的开源模块也不少,今天给...
    99+
    2024-04-02
  • Java常用数字工具类 数字转汉字(1)
    本人是从事互联网金融行业的,所以会接触到一些金融类的问题,常见的一种就是数字转汉字大小写的问题。所以抽空就写了一个小小的工具类,实现了数字转汉字、大数相加、相减、相乘的工具类,希望能帮助有需求的同行们。本篇就分享一下数字转化为汉字的思路吧。...
    99+
    2023-05-31
    java 数字 汉字
  • PHP中的汉字怎么转拼音
    本篇内容主要讲解“PHP中的汉字怎么转拼音”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP中的汉字怎么转拼音”吧!  PHP5.4之前(不包含5....
    99+
    2024-04-02
  • JavaScript如何实现汉字转拼音
    这篇文章将为大家详细讲解有关JavaScript如何实现汉字转拼音,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一.汉字转拼音的现状首先应该说,汉字转拼音是个强需求,比如...
    99+
    2024-04-02
  • js怎么实现汉字转拼音
    在JavaScript中,可以使用第三方库 `pinyin` 来实现汉字转拼音的功能。可以使用 `npm` 来安装该库,然后在项目中...
    99+
    2023-08-19
    js
  • Java中实现汉字生成拼音首拼和五笔码
    目录汉字生成拼音首拼和五笔码拼音首拼五笔码利用pinyin4j实现汉字转拼音汉字生成拼音首拼和五笔码 最近要开始新的项目了,在需求报告中看到有需要生成拼音首拼和五笔码的需求,我也在网...
    99+
    2024-04-02
  • Java实现汉字转拼音,多音字处理,简单明了
    背景: 之前一直是前端直接调用公司公共城市组件获取城市列表,现在由于公共组件不再支持,需要由后端接口提供城市查询,并且按照城市首字母分组展示。 后端实现: 最开始选择pinyin4j来实现,但发现对多音字的处理不太友好,比如需要转重庆的拼音...
    99+
    2023-09-25
    java 开发语言 mysql
  • C#实现汉字转拼音(多音字)功能详解
    缘由:根据姓名创建账号,存在生僻字以及多音字 做法:自己根据网上信息自己写了类,词库可能不完整(有待补充) 其他不多说了,先上代码如下: using System; using Sy...
    99+
    2023-02-15
    C#实现汉字转拼音 C#汉字转拼音 C# 汉字 拼音
  • android实现汉字转拼音功能 带多音字识别
    android 汉字转拼音带多音字识别功能,供大家参考,具体内容如下 问题来源 在做地名按首字母排序的时候出现了这样一个bug。长沙会被翻译拼音成zhangsha,重庆会被...
    99+
    2022-06-06
    转拼音 Android
  • Java中如何实现汉字生成拼音首拼和五笔码
    这篇文章主要介绍Java中如何实现汉字生成拼音首拼和五笔码,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!汉字生成拼音首拼和五笔码最近要开始新的项目了,在需求报告中看到有需要生成拼音首拼和五笔码的需求,我也在网上找了很...
    99+
    2023-06-29
  • C# 汉字与拼音互转的实现示例
    这个功能,大家也都可以去百度以下,千篇一律都自己写的(抄的)封装好的公共类,此处还是得膜拜下原创的大佬,可以花时间去搞这个,我看着都头皮发麻。 对于一个有代码洁癖的码农来说,我并不喜...
    99+
    2024-04-02
  • php汉字转拼音函数的实现方法
    本文将为大家详细介绍“php汉字转拼音函数的实现方法”,内容步骤清晰详细,细节处理妥当,而小编每天都会更新不同的知识点,希望这篇“php汉字转拼音函数的实现方法”能够给你意想不到的收获,请大家跟着小编的思路慢慢深入,具体内容如下,一起去收获...
    99+
    2023-06-06
  • 教你使用Python pypinyin库实现汉字转拼音
    一、前言 这里我先为大家提供一个中文网站,大家可以下去更深入的学习。 https://pypi.org/project/pypinyin/ pypinyin库,主要有几下几个特性: 智能匹配最正确的拼音;...
    99+
    2022-06-02
    pypinyin库汉字转拼音 Python pypinyin库
  • 怎么使用Python pypinyin库实现汉字转拼音
    这篇文章主要介绍了怎么使用Python pypinyin库实现汉字转拼音,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。一、前言pypinyin库,主要有几下几个特性:智能匹配...
    99+
    2023-06-15
  • android项目中如何将汉字转换为拼音
    android项目中如何将汉字转换为拼音?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。代码如下 private int getChsAscii(String ch...
    99+
    2023-05-31
    android roi 目中
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作