码迷,mamicode.com
首页 > 编程语言 > 详细

adnroid java 获取汉字 字母的首拼音,全拼音,大写首拼音

时间:2016-01-07 11:57:34      阅读:198      评论:0      收藏:0      [点我收藏+]

标签:获取汉字字母的首拼音   全拼音   首大写   

    给打大家提供一个获取汉字字母的首拼音,全拼音,首大写的几个方法:

这里需要用到一个外库,pinyin4j-2.5.0.jar
大家可以自己上网下载或者找我分享:

这个也给有做分享pinyin4j-2.5.0.jar:外库可以直接下载

底下是对库的使用,几个使用的例子:

//"首拼音大写"

 public static String getAlpha(String chines) {
  String pinyinName = "";
  char[] nameChar = chines.toCharArray();
  HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
  defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
  defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
  for (int i = 0; i < nameChar.length; i++) {
   if (nameChar[i] > 128) {
    try {
     pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
    } catch (BadHanyuPinyinOutputFormatCombination e) {
     e.printStackTrace();
    }
   } else {
    pinyinName += nameChar[i];
   }
  }
  return pinyinName;
 }



//全拼音

 public static String getPingYin(String inputString) {
  HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
  format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
  format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
  format.setVCharType(HanyuPinyinVCharType.WITH_V);

  char[] input = inputString.trim().toCharArray();
  String output = "";

  try {
   for (int i = 0; i < input.length; i++) {
    if (java.lang.Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {
     String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);
     output += temp[0];
    } else
     output += java.lang.Character.toString(input[i]);
   }
  } catch (BadHanyuPinyinOutputFormatCombination e) {
   e.printStackTrace();
  }
  return output;
 }



//首拼音

 public static String converterToFirstSpell(String chines) {
  String pinyinName = "";
  char[] nameChar = chines.toCharArray();
  HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
  defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
  defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
  for (int i = 0; i < nameChar.length; i++) {
   if (nameChar[i] > 128) {
    try {
     pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
    } catch (BadHanyuPinyinOutputFormatCombination e) {
     e.printStackTrace();
    }
   } else {
    pinyinName += nameChar[i];
   }
  }
  return pinyinName;
 }
}

本文出自 “java” 博客,请务必保留此出处http://10594050.blog.51cto.com/10584050/1732349

adnroid java 获取汉字 字母的首拼音,全拼音,大写首拼音

标签:获取汉字字母的首拼音   全拼音   首大写   

原文地址:http://10594050.blog.51cto.com/10584050/1732349

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!