public class CN2PY implements ICN2PY {
protected final Log log = LogFactory.getLog(getClass());
/**
* 根据中文字符串得到拼音字符串,使用pinying4j转换。
*
* @param cnstr
* 中文字符串
* @return 转换后的pinying字符串
* @pdOid f71cd487-04e2-4ab4-8467-554ced97ee9a
*/
public java.lang.String getPinYingStr(String cnstr) {
log.debug("-------->>Input ZhongWen=" + cnstr);
String zhongWenPinYin = "";
char[] chars = cnstr.toCharArray();
for (int i = 0; i < chars.length; i++) {
String[] pinYin = null;
try {
pinYin = PinyinHelper.toHanyuPinyinStringArray(chars[i],
getDefaultOutputFormat());
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
// 当转换不是中文字符时,返回null
if (i < 1) {
String str = new String(pinYin[0].toCharArray());
zhongWenPinYin += str;
} else if (i >= 1) {
if (pinYin != null) {
zhongWenPinYin += capitalize(pinYin[0]);
} else {
zhongWenPinYin += chars[i];
}
}
}
log.debug("-------->>Output PinYin=" + zhongWenPinYin);
return zhongWenPinYin;
}
public static HanyuPinyinOutputFormat getDefaultOutputFormat() {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 小写
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 没有音调数字
format.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);// u显示
return format;
}
public static String capitalize(String s) {
char ch[];
ch = s.toCharArray();
if (ch[0] >= 'a' && ch[0] <= 'z') {
ch[0] = (char) (ch[0] - 32);
}
String newString = new String(ch);
return newString;
}
}
protected final Log log = LogFactory.getLog(getClass());
/**
* 根据中文字符串得到拼音字符串,使用pinying4j转换。
*
* @param cnstr
* 中文字符串
* @return 转换后的pinying字符串
* @pdOid f71cd487-04e2-4ab4-8467-554ced97ee9a
*/
public java.lang.String getPinYingStr(String cnstr) {
log.debug("-------->>Input ZhongWen=" + cnstr);
String zhongWenPinYin = "";
char[] chars = cnstr.toCharArray();
for (int i = 0; i < chars.length; i++) {
String[] pinYin = null;
try {
pinYin = PinyinHelper.toHanyuPinyinStringArray(chars[i],
getDefaultOutputFormat());
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
// 当转换不是中文字符时,返回null
if (i < 1) {
String str = new String(pinYin[0].toCharArray());
zhongWenPinYin += str;
} else if (i >= 1) {
if (pinYin != null) {
zhongWenPinYin += capitalize(pinYin[0]);
} else {
zhongWenPinYin += chars[i];
}
}
}
log.debug("-------->>Output PinYin=" + zhongWenPinYin);
return zhongWenPinYin;
}
public static HanyuPinyinOutputFormat getDefaultOutputFormat() {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setCaseType(HanyuPinyinCaseType.LOWERCASE);// 小写
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);// 没有音调数字
format.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);// u显示
return format;
}
public static String capitalize(String s) {
char ch[];
ch = s.toCharArray();
if (ch[0] >= 'a' && ch[0] <= 'z') {
ch[0] = (char) (ch[0] - 32);
}
String newString = new String(ch);
return newString;
}
}