java中文转拼音工具类详解
本文实例为大家分享了java中文转拼音工具类的具体代码,供大家参考,具体内容如下
importjava.util.HashSet;
importjava.util.Iterator;
importjava.util.Set;
importjava.util.regex.Matcher;
importjava.util.regex.Pattern;
importjava.util.regex.PatternSyntaxException;
importnet.sourceforge.pinyin4j.PinyinHelper;
importnet.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
importnet.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
importnet.sourceforge.pinyin4j.format.HanyuPinyinToneType;
importnet.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
importnet.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
importorg.slf4j.Logger;
importorg.slf4j.LoggerFactory;
publicclassPinyinUtil{
publicstaticStringgetPinyin(StringparamString){
returngetPinyinZh_CN(convertStringByChinese(paramString));
}
publicstaticStringgetPinyinToUpperCase(StringparamString){
returngetPinyinZh_CN(convertStringByChinese(paramString)).toUpperCase();
}
publicstaticStringgetPinyinToLowerCase(StringparamString){
returngetPinyinZh_CN(convertStringByChinese(paramString)).toLowerCase();
}
publicstaticStringgetPinyinFirstToUpperCase(StringparamString){
returngetPinyin(paramString);
}
privatestaticHanyuPinyinOutputFormatgetDefaultFormat(){
HanyuPinyinOutputFormatlocalHanyuPinyinOutputFormat=newHanyuPinyinOutputFormat();
localHanyuPinyinOutputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
localHanyuPinyinOutputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
localHanyuPinyinOutputFormat.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);
returnlocalHanyuPinyinOutputFormat;
}
privatestaticSetconvertStringByChinese(StringparamString){
char[]arrayOfChar1=paramString.toCharArray();
if((paramString!=null)&&(!paramString.trim().equalsIgnoreCase(""))){
char[]arrayOfChar2=paramString.toCharArray();
String[][]arrayOfString=newString[paramString.length()][];
for(inti=0;i=2){
intj=paramArrayOfString[0].length;
intk=paramArrayOfString[1].length;
intm=j*k;
String[]arrayOfString=newString[m];
intn=0;
for(inti1=0;i10)&&(arrayOfChar[0]>='a')&&(arrayOfChar[0]<='z')){
arrayOfChar[0]=((char)(arrayOfChar[0]-''));
}
returnnewString(arrayOfChar);
}
privatestaticStringgetPinyinZh_CN(SetparamSet){
StringBuilderlocalStringBuilder=newStringBuilder();
inti=0;
IteratorlocalIterator=paramSet.iterator();
while(localIterator.hasNext()){
Stringstr=(String)localIterator.next();
if(i==paramSet.size()-1){
localStringBuilder.append(str);
}else{
localStringBuilder.append(str+",");
}
i++;
}
returnlocalStringBuilder.toString();
}
publicstaticStringgetPinYinHeadChar(StringparamString){
StringBufferlocalStringBuffer=newStringBuffer();
if((paramString!=null)&&(!paramString.trim().equalsIgnoreCase(""))){
for(inti=0;i
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。