【J2SE】中文转换为全拼和首字母

 先下载:http://pinyin4j.sourceforge.net/
  1. import net.sourceforge.pinyin4j.PinyinHelper;
  2. import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
  3. import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
  4. import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
  5. import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
  6. import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
  7. public class CnToPy {
  8.     //将汉字转换为全拼 
  9.     public static String getPingYin(String src){ 
  10.         char[] t1 = null
  11.         t1=src.toCharArray(); 
  12.         String[] t2 = new String[t1.length]; 
  13.         HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat(); 
  14.         t3.setCaseType(HanyuPinyinCaseType.LOWERCASE); 
  15.         t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE); 
  16.         t3.setVCharType(HanyuPinyinVCharType.WITH_V); 
  17.         String t4=""
  18.         int t0=t1.length; 
  19.         try { 
  20.           for (int i=0;i<t0;i++) 
  21.           { 
  22.           //判断是否为汉字字符 
  23.              if(java.lang.Character.toString(t1[i]).matches("[//u4E00-//u9FA5]+"))    
  24.                   { 
  25.                   t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);               
  26.                   t4+=t2[0]; 
  27.                   } 
  28.               else 
  29.                   t4+=java.lang.Character.toString(t1[i]); 
  30.           } 
  31. //         System.out.println(t4); 
  32.           return t4; 
  33.         } 
  34.         catch (BadHanyuPinyinOutputFormatCombination e1) { 
  35.           e1.printStackTrace(); 
  36.         } 
  37.         return t4; 
  38.     } 
  39.     //返回中文的首字母 
  40.     public static String getPinYinHeadChar(String str) { 
  41.     String convert = ""
  42.     for (int j = 0; j < str.length(); j++) { 
  43.           char word = str.charAt(j); 
  44.           String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); 
  45.           if (pinyinArray != null) { 
  46.           convert += pinyinArray[0].charAt(0); 
  47.           }else { 
  48.           convert += word; 
  49.           } 
  50.     } 
  51.     return convert; 
  52.     } 
  53.     //将字符串转移为ASCII码 
  54.     public static String getCnASCII(String cnStr) 
  55.     { 
  56.     StringBuffer   strBuf   =   new   StringBuffer(); 
  57.     byte[]   bGBK   =   cnStr.getBytes(); 
  58.             for(int   i=0;i <bGBK.length;i++){ 
  59. //                System.out.println(Integer.toHexString(bGBK[i]&0xff)); 
  60.                     strBuf.append(Integer.toHexString(bGBK[i]&0xff)); 
  61.             } 
  62.             return strBuf.toString(); 
  63.     } 
  64.     public static void main(String[] args) { 
  65.     String cnStr = "中华人民共和国";
  66.     System.out.println(getPingYin(cnStr)); 
  67.     System.out.println(getPinYinHeadChar(cnStr)); 
  68.     } 
  69.     } 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值