Java实现的汉语拼音工具类完整实例

 更新时间:2017年11月03日 09:57:47   作者:LovooGod  
这篇文章主要介绍了Java实现的汉语拼音工具类,结合完整实例形式分析了java基于pinyin4j包实现编码转换的相关操作技巧,需要的朋友可以参考下

本文实例讲述了Java实现的汉语拼音工具类。分享给大家供大家参考,具体如下:

package test;
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;
/**
 * 汉语拼音工具类
 * Created by charlin on 2017/9/3.
 */
public class PingYinUtil {
 /**
  * 获得所有拼音字母
  * @param args
  * @return
  */
 public static String getAllLeter(String args) {
  String result = "";
  char[] charArray = args.toCharArray();
  String[] strArr = new String[charArray.length];
  HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
  format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
  format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
  format.setVCharType(HanyuPinyinVCharType.WITH_V);
  int len = charArray.length;
  for (int i = 0; i <len ; i++) {
   try {
    strArr = PinyinHelper.toHanyuPinyinStringArray(charArray[i], format);
    if (strArr == null){
     result += charArray[i];
    }else {
     result += strArr[0];
    }
   } catch (BadHanyuPinyinOutputFormatCombination e) {
    e.printStackTrace();
   }
  }
  return result;
 }
 /**
  * 获得每个汉字的首字母
  * @param args
  * @return
  */
 public static String getFirstLeter(String args) {
  String result = "";
  char[] charArray = args.toCharArray();
  String[] strArr = new String[charArray.length];
  HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
  format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
  format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
  format.setVCharType(HanyuPinyinVCharType.WITH_V);
  int len = charArray.length;
  for (int i = 0; i <len ; i++) {
   try {
    strArr = PinyinHelper.toHanyuPinyinStringArray(charArray[i], format);
    if (strArr == null){
     result += charArray[i];
    }else {
     result += strArr[0].substring(0,1);
    }
   } catch (BadHanyuPinyinOutputFormatCombination e) {
    e.printStackTrace();
   }
  }
  return result;
 }
 public static void main(String[] args) {
  System.out.println("脚本之家测试结果:");
  System.out.println("getAllLeter==" + getAllLeter("你好啊"));
  System.out.println("getFirstLeter==" + getFirstLeter("你好啊"));
 }
}

运行结果:

PS:这里再为大家提供几款本站拼音与字母相关工具供大家参考:

在线中英文根据首字母排序工具:
http://tools.jb51.net/aideddesign/zh_paixu

在线汉字转换成拼音工具:
http://tools.jb51.net/transcoding/pinyin

在线中文汉字转拼音工具:
http://tools.jb51.net/transcoding/hanzi2pinyin

在线中文汉字拼音对照转换工具:
http://tools.jb51.net/transcoding/zh_pinyin

在线字母大小写转换工具:
http://tools.jb51.net/transcoding/upper

附:本例中使用到的net.sourceforge.pinyin4j包可点击此处本站下载pinyin4j的jar包文件

关于eclipse导入jar包的方法可参考本站https://www.jb51.net/softjc/552873.html

更多关于java相关内容感兴趣的读者可查看本站专题:《Java数组操作技巧总结》、《Java字符与字符串操作技巧总结》、《Java数学运算技巧总结》、《Java数据结构与算法教程》及《Java操作DOM节点技巧总结

希望本文所述对大家java程序设计有所帮助。

相关文章

  • 关于feign对x-www-form-urlencode类型的encode和decode问题

    关于feign对x-www-form-urlencode类型的encode和decode问题

    这篇文章主要介绍了关于feign对x-www-form-urlencode类型的encode和decode问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-03-03
  • Mybatis详解在注解sql时报错的解决方法

    Mybatis详解在注解sql时报错的解决方法

    MyBatis-Plus 是一个 Mybatis 增强版工具,在 MyBatis 上扩充了其他功能没有改变其基本功能,为了简化开发提交效率而存在,本篇文章带你看看在注解sql时所报出的错误解决
    2022-03-03
  • Java实现一个简单计算器

    Java实现一个简单计算器

    这篇文章主要介绍了Java实现一个简单计算器,文章我围绕实现简单计算器的相关代码展现全文,具有一定的参考价值,需要的小伙伴可以参考一下,
    2022-01-01
  • mybatis拦截器实现数据权限项目实践

    mybatis拦截器实现数据权限项目实践

    本文主要介绍了mybatis拦截器实现数据权限项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • java使用gzip实现文件解压缩示例

    java使用gzip实现文件解压缩示例

    这篇文章主要介绍了java使用gzip实现文件解压缩示例,需要的朋友可以参考下
    2014-03-03
  • Java获取随机数的3种方法

    Java获取随机数的3种方法

    本篇文章主要介绍了Java获取随机数的3种方法,现在分享给大家,也给大家做个参考,感兴趣的小伙伴们可以参考一下。
    2016-11-11
  • Java 中的抽象介绍

    Java 中的抽象介绍

    这篇文章主要介绍了Java 中的抽象,数据抽象是一种仅向用户显示基本细节的属性。不向用户显示琐碎或非必需的单元,下面文章Java抽象详细内容,需要的朋友可以参考一下
    2021-12-12
  • Java实现用Mysql存取图片操作实例

    Java实现用Mysql存取图片操作实例

    这篇文章主要介绍了Java实现用Mysql存取图片操作实例,本文讲解了使用BLOB类型保存和读取图片的代码实例,需要的朋友可以参考下
    2015-06-06
  • java理论基础Stream元素的匹配与查找

    java理论基础Stream元素的匹配与查找

    这篇文章主要为大家介绍了java理论基础Stream元素的匹配与查找方法的示例说明解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-03-03
  • 详解java中spring里的三大拦截器

    详解java中spring里的三大拦截器

    在本篇文章里我们给大家详细讲述了java中spring里的三大拦截器相关知识点以及用法代码,需要的朋友们学习下。
    2018-10-10

最新评论