PinyinUtil.java
4.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
package com.gimi.common.cinema.utils;
import android.text.TextUtils;
import com.wugian.ping.PinYinHelper1;
/**
* 拼音工具类
*
* @author lsf
*/
public class PinyinUtil {
// /**
// * 将字符串中的中文转化为拼音,其他字符不变
// *
// * @param inputString
// * @return
// */
// public static String getPinYin(String inputString) {
// HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
// format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
// format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
// format.setVCharType(HanyuPinyinVCharType.WITH_V);
//
// char[] input = inputString.trim().toCharArray();
// String output = "";
//
// try {
// for (int i = 0; i < input.length; i++) {
// if (java.lang.Character.toString(input[i]).matches("[\\u4E00-\\u9FA5]+")) {
// String[] temp = PinyinHelper.toHanyuPinyinStringArray(input[i], format);
// output += temp[0];
// } else
// output += java.lang.Character.toString(input[i]);
// }
// } catch (BadHanyuPinyinOutputFormatCombination e) {
// e.printStackTrace();
// }
// return output;
// }
/**
* 获取汉字串拼音首字母,英文字符不变
*
* @param chinese 汉字串
* @return 汉语拼音首字母
*/
public static String getFirstSpell(String chinese) {
// StringBuffer pybf = new StringBuffer();
// try {
// char[] arr = chinese.toCharArray();
// HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
// defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
// defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
// for (int i = 0; i < arr.length; i++) {
// if (arr[i] > 128) {
// String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);
// if (temp != null & temp.length >= 1) {
// pybf.append(temp[0].charAt(0));
// }
// } else {
// pybf.append(arr[i]);
// }
// }
// } catch (Exception e) {
// e.printStackTrace();
// }
// return pybf.toString().replaceAll("\\W", "").trim();
// String shortPinyin = "";
// try {
// shortPinyin = PinyinHelper.getShortPinyin(chinese).replaceAll(" ", "");
// } catch (PinyinException e) {
// e.printStackTrace();
// }
// return shortPinyin;
if (TextUtils.isEmpty(chinese)) {
return "";
}
String[] firstHead = PinYinHelper1.getInstance().getFirstHead(chinese);
return firstHead.length > 0 ? firstHead[0] : "";
}
/**
* 获取汉字串拼音首字母,英文字符不变
*
* @param chinese 汉字串
* @return 汉语拼音首字母
*/
public static String getAllFirstSpell(String chinese) {
return join(PinYinHelper1.getInstance().getFirstHead(chinese), ",");
// final String firstHead = PinYinHelper1.getInstance().getFirstHead(chinese);
// String shortPinyin = "";
// shortPinyin = PinyinHelper.getAllShortPinyin(chinese).replaceAll(" ", "");
// return shortPinyin;
}
private static String join(String[] arr, String flag) {
StringBuffer strBuff = new StringBuffer();
for (int i = 0, len = arr.length; i < len; i++) {
strBuff.append(String.valueOf(arr[i]));
if (i < len - 1) strBuff.append(flag);
}
return strBuff.toString();
}
// /**
// * 获取汉字串拼音,英文字符不变
// *
// * @param chinese 汉字串
// * @return 汉语拼音
// */
// public static String getFullSpell(String chinese) {
// StringBuffer pybf = new StringBuffer();
// char[] arr = chinese.toCharArray();
// HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
// defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
// defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
// for (int i = 0; i < arr.length; i++) {
// if (arr[i] > 128) {
// try {
// pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]);
// } catch (BadHanyuPinyinOutputFormatCombination e) {
// e.printStackTrace();
// }
// } else {
// pybf.append(arr[i]);
// }
// }
// return pybf.toString();
// }
}