1.引入pinjin jar包
implementation 'com.belerweb:pinyin4j:2.5.0'
2.获取一段字符的首字母
原理,将字符串分割成单个的字符,利用yinpin获取字符的首字母数组(针对多音字情况),这里只取数组的第一个首字母进行拼接。
/** * 获取简写拼音集合 * 待修改 */ public static String getPinyin(String src) { char[] srcChar;//1:多少个汉字 srcChar = src.toCharArray(); StringBuilder temp = new StringBuilder(""); for (int i = 0; i < srcChar.length; i++) { char c = srcChar[i]; if (String.valueOf(c).matches("[\\u4E00-\\u9FA5]+")) {// 是中文或者a-z或者A-Z转换拼音 String[] t = PinyinHelper.toHanyuPinyinStringArray(c);//获取单个字的所有首字母(由于有多音字,所以是个数组 temp.append(t[0].substring(0, 1));//获取首字母 } else if (((int) c >= 65 && (int) c <= 90) || ((int) c >= 97 && (int) c <= 122) || c >= 48 && c <= 57 || c == 42) {//a-zA-Z0-9* temp.append(String.valueOf(srcChar[i])); } } return temp.toString(); }