package com.limemobile.app.launcher.util;
import android.os.Build;
import com.limemobile.app.launcher.util.Hanzi2Pinyin1.Token;
import java.util.ArrayList;
import java.util.regex.Pattern;
public class PinyinUtil {
public static String toString(String hanzi) {
String pinyin = "";
ArrayList<Token> tokens = null;
if (Build.VERSION.SDK_INT >= 14)
tokens = Hanzi2Pinyin14.getInstance().get(hanzi);
else
tokens = Hanzi2Pinyin1.getInstance().get(hanzi);
if (tokens != null && tokens.size() > 0) {
StringBuilder sb = new StringBuilder();
for (Token token : tokens) {
// Put Chinese character's pinyin, then proceed with the
// character itself.
if (Token.PINYIN == token.type) {
if (sb.length() > 0) {
sb.append(' ');
}
sb.append(token.target);
sb.append(' ');
sb.append(token.source);
} else {
if (sb.length() > 0) {
sb.append(' ');
}
sb.append(token.source);
}
}
pinyin = sb.toString();
}
return pinyin.toLowerCase();
}
public static String getFirstLetter(String str) {
String fallbackLetter = "#";
if (str == null)
return fallbackLetter;
if (str.trim().length() == 0)
return "#";
char c = str.trim().substring(0, 1).charAt(0);
// 正则表达式,判断首字母是否是英文字母
Pattern pattern = Pattern.compile("^[A-Za-z]+$");
if (pattern.matcher(c + "").matches())
return (c + "").toLowerCase();
return fallbackLetter;
}
}