将汉字转为全拼并取首字母大写
2013-07-22 15:55
344 查看
package com.tjp.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; public class CnToSpell { // 将汉字转换为全拼 public static String getPingYin(String src) { char[] t1 = null; t1 = src.toCharArray(); String[] t2 = new String[t1.length]; HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat(); t3.setCaseType(HanyuPinyinCaseType.LOWERCASE); t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE); t3.setVCharType(HanyuPinyinVCharType.WITH_V); String t4 = ""; int t0 = t1.length; try { for (int i = 0; i < t0; i++) { // 判断是否为汉字字符 if (java.lang.Character.toString(t1[i]).matches( "[\\u4E00-\\u9FA5]+")) { t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3); t4 += t2[0]; } else t4 += java.lang.Character.toString(t1[i]); } // System.out.println(t4); return t4; } catch (BadHanyuPinyinOutputFormatCombination e1) { e1.printStackTrace(); } return t4; } // 返回中文的首字母 public static String getPinYinHeadChar(String str) { String temp = ""; String demo = ""; String convert = ""; for (int j = 0; j < str.length(); j++) { char word = str.charAt(j); String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); if (pinyinArray != null) { convert += pinyinArray[0].charAt(0); } else { convert += word; } } for(int i=0;i<convert.length();i++){//convert目前为小写首字母,下面是将小写首字母转化为大写 if(convert.charAt(i)>='a' && convert.charAt(i)<='z'){ temp=convert.substring(i,i+1).toUpperCase(); demo += temp; } } return demo; } // 将字符串转移为ASCII码 public static String getCnASCII(String cnStr) { StringBuffer strBuf = new StringBuffer(); byte[] bGBK = cnStr.getBytes(); for (int i = 0; i < bGBK.length; i++) { // System.out.println(Integer.toHexString(bGBK[i]&0xff)); strBuf.append(Integer.toHexString(bGBK[i] & 0xff)); } return strBuf.toString(); } public static void main(String[] args) { String cnStr = "中华人民共和国"; System.out.println(getPingYin(cnStr)); System.out.println(getPinYinHeadChar(cnStr)); } }
相关文章推荐
- .net 汉字转小写全拼、小写首字字母、大写首字字母
- 将汉字转为全拼或返回拼音首字母的函数
- Java 获取汉字串首字母并大写和获取汉字的全拼,英文字符不变
- 将汉字转为全拼或返回拼音首字母的函数
- oracle将汉字转为全拼或返回拼音首字母sql
- 将汉字转为全拼或返回拼音首字母
- Oracle将汉字转为全拼或返回拼音首字母的函数
- 输入汉字,得到汉字的大写首字母
- select2通过全拼及首字母匹配汉字
- 公用方法:得到汉字的首字母(大写) 方案3
- adnroid java 获取汉字 字母的首拼音,全拼音,大写首拼音
- PHP 获取汉字拼音首字母大写
- C#,获得汉字的全拼,不只是首个字母,含声母和韵母,汉字转拼音(全拼)
- 【原创】字符串工具类--获取汉字对应的拼音(全拼或首字母)
- 获取汉字的全拼和拼音首字母
- C#通用类库--数字转为人民币汉字大写表示
- 根据汉字获取它的字符串拼音首字母(大写),含多音字
- 2012蓝桥杯国赛第三题 输入汉字显示大写首字母
- 基于ASP.NET实现日期转为大写的汉字
- delphi将汉字转为首字母