java业务返回用户昵称首字母
public String getLetter() {
String firstLetter;
if (StringUtils.isNotBlank(nickname)) {
firstLetter = PinYinUtil.getFirstLetter(nickname);
} else {
firstLetter = PinYinUtil.getFirstLetter(realName);
}
if (ObjectUtil.isNotNull(firstLetter) && !firstLetter.matches("[A-Z]+")) {
firstLetter = "#";
}
return firstLetter;
}
pox
<dependency>
<groupId>com.belerweb</groupId>
<artifactId>pinyin4j</artifactId>
<version>2.5.1</version>
</dependency>
util
public class PinYinUtil {
public PinYinUtil() {
}
public static void main(String[] args) {
System.out.println(toFirstChar("汉字转换为拼音"));
System.out.println(toPinyin("汉字转换为拼音"));
System.out.println(getFirstLetter("汉字转换为拼音"));
}
public static String toFirstChar(String chinese) {
StringBuilder pinyinStr = new StringBuilder();
char[] newChar = chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
char[] var4 = newChar;
int var5 = newChar.length;
for(int var6 = 0; var6 < var5; ++var6) {
char c = var4[var6];
if (c > 128) {
try {
pinyinStr.append(PinyinHelper.toHanyuPinyinStringArray(c, defaultFormat)[0].charAt(0));
} catch (BadHanyuPinyinOutputFormatCombination var9) {
var9.printStackTrace();
}
} else {
pinyinStr.append(c);
}
}
return pinyinStr.toString();
}
public static String toPinyin(String chinese) {
chinese = chinese.replaceAll("、", "");
StringBuilder pinyinStr = new StringBuilder();
char[] newChar = chinese.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
char[] var4 = newChar;
int var5 = newChar.length;
for(int var6 = 0; var6 < var5; ++var6) {
char c = var4[var6];
if (c > 128) {
try {
pinyinStr.append(PinyinHelper.toHanyuPinyinStringArray(c, defaultFormat)[0]);
} catch (BadHanyuPinyinOutputFormatCombination var9) {
var9.printStackTrace();
}
} else {
pinyinStr.append(c);
}
}
return pinyinStr.toString();
}
public static String getFirstLetter(String str) {
if (StringUtils.isBlank(str)) {
return null;
} else {
String convert = "";
char word = str.charAt(0);
String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
if (pinyinArray != null) {
convert = convert + pinyinArray[0].charAt(0);
} else {
convert = convert + word;
}
return convert.toUpperCase();
}
}
}