话不多说,上代码:

package cn.jiangshuai.personManage;import java.util.Scanner;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 JSYH**/
public class Main {public static void main(String[] args) {
//      System.out.println("中国 首字母大写:"+toFirstChar("中国").toUpperCase());
//      System.out.println("中国 转成拼音:"+toPinyin("中国"));StringBuilder sBuilder = new StringBuilder();System.out.println("请输入中文......");Scanner inScanner = new Scanner(System.in);while(inScanner.hasNextLine()) {sBuilder.append(inScanner.nextLine());if(inScanner.nextLine().equals("over")) {      //用于控制结束输入的逃逸字符break;}}System.out.println("处理之后的输入字符串......");//System.out.println(sBuilder.toString().replaceAll("[^(0-9)]", ""));System.out.println(sBuilder.toString().replaceAll("[^(\\u4e00-\\u9fa5)]", ""));  //借助正则表达式过滤掉非汉字的内容System.out.println("转换结果......");System.out.println(toFirstChar(sBuilder.toString().replaceAll("[^(\\u4e00-\\u9fa5)]", "")));System.out.println(toPinyin(sBuilder.toString().replaceAll("[^(\\u4e00-\\u9fa5)]", "")));}/*** 输入中文字符串 输出各汉字的首字母组成的字符串* @param chinese* @return*/public static String toFirstChar(String chinese) {String pinyinString = "";char[] newchar = chinese.toCharArray();HanyuPinyinOutputFormat hypy = new HanyuPinyinOutputFormat();hypy.setCaseType(HanyuPinyinCaseType.LOWERCASE);//hypy.setToneType(HanyuPinyinToneType.WITHOUT_TONE);hypy.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for(int i = 0;i < newchar.length;i++) {if(newchar[i]>128) {try {pinyinString += PinyinHelper.toHanyuPinyinStringArray(newchar[i], hypy)[0].charAt(0);} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}}else {pinyinString += newchar[i];}}return pinyinString;}/*** 输入中文字符串 输出各汉字的拼音全拼* @param chinese* @return*/public static String toPinyin(String chinese) {String pinyinString = "";char[] newchar = chinese.toCharArray();HanyuPinyinOutputFormat hypy = new HanyuPinyinOutputFormat();hypy.setCaseType(HanyuPinyinCaseType.LOWERCASE);hypy.setToneType(HanyuPinyinToneType.WITHOUT_TONE);for(int i = 0;i < newchar.length;i++) {if(newchar[i]>128) {try {pinyinString += PinyinHelper.toHanyuPinyinStringArray(newchar[i], hypy)[0];} catch (BadHanyuPinyinOutputFormatCombination e) {e.printStackTrace();}}else {pinyinString += newchar[i];}}return pinyinString;}
}

java实现大段中文转拼音首字母、拼音全拼相关推荐

  1. C# 获取汉字的拼音首字母和全拼(含源码)

    C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是依照汉字在Unicode编码表中的排序来确定拼音的首字母.碰到多音字时就以常用的为准(第一种方法中可以自行更改,方法为手 ...

  2. (转)C# 获取汉字的拼音首字母和全拼(含源码)[A]

    https://blog.csdn.net/younghaiqing/article/details/62417269 C# 获取汉字的拼音首字母 一种是把所有中文字符集合起来组成一个对照表:另一种是 ...

  3. 完整简洁的Oracle获得汉字字符串拼音首字母和全拼的函数

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! http ...

  4. 【C#】获取汉字拼音首字母和全拼

    文章目录 利用CJK统一表意符号获取首字母 获取首字母和全拼 另附sql server解决方案 来源 java的同学可以了解下pinyin4j,js可以了解ChinesePY.js 获取拼音的意义多在 ...

  5. 使用pinyin4j获取汉字拼音首字母或全拼

    转载地址:http://yjck.iteye.com/blog/816107#bc2356769 pinyin4j是一个开源项目,使用它可以很容易的获取汉字的拼音,这也是我们经常需要用到的功能:下面是 ...

  6. php获取中文拼音(含生僻字)支持首字母,全拼

    此文为基础篇-优势在于速度更快,无依赖第三方库.如需更多功能可参考进阶篇 进阶篇 支持多音字,音标 php获取中文拼音(含生僻字,多音字,音标)支持首字母,全拼 /*** 中文转拼音 (utf8版,g ...

  7. Java汉字转拼音工具类(支持首字母和全拼)

    工具类产生是因为个人业务需求需要根据中文汉字排序,而博主又对网上回答不满意,所以才根据相关资料写了该工具类,写入博客 以备不时之需.直接上代码: Java汉字转成汉语拼音工具类,需要用到pinyin4 ...

  8. php获取中文拼音(含生僻字,多音字,音标)支持首字母,全拼

    前面文章有提到php获取中文拼音的解决方案,文章链接如下 该方法的优势在于速度够快,不依赖于任何第三方库.但不支持多音字以及音标的获取,现在将借助第三方库解决这个问题 上一篇地址 php获取中文拼音( ...

  9. oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)

    oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 1.获得全拼 SELECT GETHZPY.GETHZFULLPY( ...

  10. mysql根据汉字首字母及全拼查询(主要解决生僻汉字获取错误问题,基本所有汉字都可以正确拿到首字母和全拼)

    ##粘贴复制运行即可创建这两个函数 ## 获取name字段的首字母和全拼  SELECT to_getPY(name),to_pinyin(name) FROM pingying    ##根据首字母 ...

最新文章

  1. qt打开数据库mysql数据库文件怎么打开_qt打开数据库mysql数据库文件
  2. Shell脚本中command not found报错处理
  3. 高斯用服务器能算chk文件么,教程(二十四)使用freqchk命令进行热力学校正
  4. 针对$_SERVER[’PHP_SELF’]的跨站脚本攻击(XSS)
  5. 关于凭证和冲销凭证的RFC
  6. 44、生鲜电商平台-Java后端生成Token架构与设计详解
  7. PHP 对象、数组间的转换
  8. 科大星云诗社动态20201216
  9. 最新 | Python 官方中文文档正式发布!
  10. 《Go语言圣经》学习笔记 第五章函数
  11. Spark算子:统计RDD分区中的元素及数量
  12. 苏宁易购上半年营收936.06亿元,零售云加盟店新开1381家
  13. JVM学习手册(X):查看堆内存使用情况以及排错
  14. 有序数组转换为二叉搜索树
  15. 美国航空航天局(NASA)高度集成WebFOCUS和SharePoint
  16. stringbuilder 拼接语句缺失右括号_C++编程基础: 6. 语句、表达式和运算符
  17. gradientDescent----吴恩达机器学习作业
  18. 航空公司客户价值分析(python)
  19. html怎么把正方形改成圆形,css中如何把正方形变成圆形
  20. Java、数据库等面试题大全

热门文章

  1. 深入探索透视投影变换
  2. 为什么我们缺少特立独行的人生态度——萧功秦
  3. 如何探索学习新事物?
  4. 道听途说:民生银行中报浅析
  5. 纯净语音信号matlab,matlab语音信号处理
  6. 同时有安全帽识别、反光衣识别、锥桶识别的YOLOv5数据集(有ui界面)
  7. 数组作为函数参数时的易错点
  8. 反射与注解编程及-CSS3
  9. linux下搭建vsftp锁定根目录,Linux下创建ftp用户并锁定根目录
  10. 使用govendor管理Golang项目依赖