0
点赞
收藏
分享

微信扫一扫

JAVA工具类(2) -- 汉语拼音工具类


package com.gcloud.common;

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("getAllLeter==" + getAllLeter("你好啊"));
System.out.println("getFirstLeter==" + getFirstLeter("你好啊"));
}
}

举报

相关推荐

0 条评论