1.汉字转换位汉语拼音,英文字符不变
/**
* 汉字转换位汉语拼音,英文字符不变
*
* @param chines
* 汉字
* @return 拼音
*/
public static String ChineseToSpell(String chines) {
String pinyinName = "";
char[] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (int i = 0; i < nameChar.length; i++) {
if (nameChar[i] > 128) {
try {
pinyinName += PinyinHelper.toHanyuPinyinStringArray(
nameChar[i], defaultFormat)[0];
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
pinyinName += nameChar[i];
}
}
return pinyinName;
}
2.如果输入的是英文字符搜索listview
/**
* 根据输入的首字母判断
*
* @param edit
* 输入的字符
* @param list
* 用户的名字
* @return
*/
public boolean SearchForSpell(String edit, String list) {
int index = edit.length();
String string = "";
if (index > list.length()) {
return false;
} else {
for (int i = 0; i < index; i++) {
string += (ChineseToSpell(list.substring(i, i + 1).toString()))
.substring(0, 1);
}
if (edit.equals(string)) {
return true;
}
if (edit.equals(string.toUpperCase())) {
return true;
}
}
return false;
}
3.如果输入中文汉字搜索
/**
* 根据输入的汉字母判断
*
* @param edit
* 输入的字符
* @param list
* 用户的名字
* @return
*/
public boolean SerachForChinese(String edit, String list) {
int index = edit.length();
String string = "";
if (index > list.length()) {
return false;
} else {
string = list.substring(0, index);
if (edit.equals(string)) {
return true;
}
}
return false;
}
4.listviw中文英文的排序
/**
* list集合根据汉字排序
*
* @param list
* @return
*/
public ArrayList<Map<String, String>> sortToList(
ArrayList<Map<String, String>> list) {
ArrayList<Map<String, String>> sortList = new ArrayList<Map<String, String>>();
String str[] = new String[list.size()];
for (int i = 0; i < str.length; i++) {
str[i] = list.get(i).get("usernickname");
}
Comparator cmp = Collator.getInstance(java.util.Locale.CHINA);
Arrays.sort(str, cmp);
for (int i = 0; i < str.length; i++) {
for (int j = 0; j < str.length; j++) {
// sortList.add(str[i]);
if (str[i].equals(list.get(j).get("usernickname"))) {
sortList.add(list.get(j));
}
}
}
return sortList;
}
5.获取字符串里面的拼音
public StringBuffer getSpell(String string) {
StringBuffer result = new StringBuffer();
for (int i = 0; i < string.length(); i++) {
char a = string.charAt(i);
if ((((int) a) >= 65 && ((int) a) <= 90)
|| (((int) a) >= 97 && ((int) a) <= 122)) {
result.append(a);
}
}
return result;
}