Android 拼音转字符串工具类封装
对于一些列表数据,我们需要进行按拼音字母排序(特别是省份城市),需要对于中文进行排序。
代码如下
public class PingYinUtil {
/**
* 将字符串中的中文转化为拼音,其他字符不变
*
* @param inputString
* @return
*/
public static String getPingYin(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]).toLowerCase();
}
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
return output;
}
}
里面需要用到pinyin4j包
下载地址:http://sourceforge.net/projects/pinyin4j/
pinyin4j项目的首页在 http://npinyin4j.codeplex.com/
其功能和使用可参考:参考博客1
文章为原创,转载请注明出处。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。