获取中英文词组首字母
pom 依赖
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.0</version>
</dependency>
测试代码
package com.jfpal.mall;
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.exception.BadHanyuPinyinOutputFormatCombination;
public class Test {
public static void main(String[] args) {
System.out.println(getAlpha("华为"));
System.out.println(getAlpha("京东"));
System.out.println(getAlpha("小米"));
System.out.println(getAlpha("herion"));
}
/**
* 获得汉语拼音首字母
*
* @param chines
* 汉字
* @return
*/
public static String getAlpha(String chines) {
String pinyinName = "";
char[] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
if(nameChar==null || nameChar.length==0){
return pinyinName;
}
if (nameChar[0] > 128) {
try {
pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[0], defaultFormat)[0].charAt(0);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
pinyinName += Character.toUpperCase(nameChar[0]);
}
return pinyinName;
}
}
验证结果
运行main方法结果如下:
H
J
X
H