android中将汉字转为拼音
2014-10-28 13:42
85 查看
汉字转拼音,汉字转拼音首字母~
下面的方法是在做项目的时候,从网上查了好久才得到的~虽然不是自己写的,但是也改的差不多了~放在这里供大家参考哈
http://download.csdn.net/detail/feihongmin/8090633是汉字转拼音要使用的pinyin4j的jar包,可以从官网上下载的
/**
* 汉字转换位全拼音,英文字符不变,其他符号忽略,
*
* @param chines
* 汉字
* @return 小写全拼
*/
public static String getPingYin(String chines) {
StringBuilder sb = new StringBuilder();
char[] nameChar = chines.toCharArray();
for (int i = 0; i < nameChar.length; i++) {
String nameCharStr = java.lang.Character.toString(nameChar[i]);
if (nameCharStr.matches("[\\u4E00-\\u9FA5]+")) {
String pinyinStr = getCharacterPinYin(nameChar[i]);
if (pinyinStr != null) {
sb.append(pinyinStr);
}
} else if (nameCharStr.matches("^[a-zA-Z]*")) {
sb.append(nameCharStr.toLowerCase());
} else if (nameCharStr.matches("[0-9]*")) {
sb.append(nameCharStr);
}
}
return sb.toString();
}
public static String getCharacterPinYin(char c) {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
String[] pinyin = null;
try {
pinyin = PinyinHelper.toHanyuPinyinStringArray(c, format);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
// 如果c不是汉字,toHanyuPinyinStringArray会返回null
if (pinyin == null)
return null;
// 只取一个发音,如果是多音字,仅取第一个发音
return pinyin[0];
}
/**
* 汉字转换位汉语拼音首字母,英文字符不变,其他符号忽略,
*
* @param chines
* 汉字
* @return 小写简拼
*/
public static String getShortPinyin(String chines) {
StringBuilder sb = new StringBuilder();
char[] nameChar = chines.toCharArray();
for (int i = 0; i < nameChar.length; i++) {
String nameCharStr = java.lang.Character.toString(nameChar[i]);
if (nameCharStr.matches("[\\u4E00-\\u9FA5]+")) {
String pinyinStr = getCharacterShortPinYin(nameChar[i]);
if (pinyinStr != null) {
sb.append(pinyinStr);
}
} else if (nameCharStr.matches("^[a-zA-Z]*")) {
sb.append(nameCharStr.toLowerCase());
} else if (nameCharStr.matches("[0-9]*")) {
sb.append(nameCharStr);
}
}
return sb.toString();
}
public static String getCharacterShortPinYin(char c) {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
String[] pinyin = null;
try {
pinyin = PinyinHelper.toHanyuPinyinStringArray(c, format);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
if (pinyin == null)
return null;
// 只取一个发音,如果是多音字,仅取第一个发音的首字母
return java.lang.Character.toString(pinyin[0].charAt(0));
}
下面的方法是在做项目的时候,从网上查了好久才得到的~虽然不是自己写的,但是也改的差不多了~放在这里供大家参考哈
http://download.csdn.net/detail/feihongmin/8090633是汉字转拼音要使用的pinyin4j的jar包,可以从官网上下载的
/**
* 汉字转换位全拼音,英文字符不变,其他符号忽略,
*
* @param chines
* 汉字
* @return 小写全拼
*/
public static String getPingYin(String chines) {
StringBuilder sb = new StringBuilder();
char[] nameChar = chines.toCharArray();
for (int i = 0; i < nameChar.length; i++) {
String nameCharStr = java.lang.Character.toString(nameChar[i]);
if (nameCharStr.matches("[\\u4E00-\\u9FA5]+")) {
String pinyinStr = getCharacterPinYin(nameChar[i]);
if (pinyinStr != null) {
sb.append(pinyinStr);
}
} else if (nameCharStr.matches("^[a-zA-Z]*")) {
sb.append(nameCharStr.toLowerCase());
} else if (nameCharStr.matches("[0-9]*")) {
sb.append(nameCharStr);
}
}
return sb.toString();
}
public static String getCharacterPinYin(char c) {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
String[] pinyin = null;
try {
pinyin = PinyinHelper.toHanyuPinyinStringArray(c, format);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
// 如果c不是汉字,toHanyuPinyinStringArray会返回null
if (pinyin == null)
return null;
// 只取一个发音,如果是多音字,仅取第一个发音
return pinyin[0];
}
/**
* 汉字转换位汉语拼音首字母,英文字符不变,其他符号忽略,
*
* @param chines
* 汉字
* @return 小写简拼
*/
public static String getShortPinyin(String chines) {
StringBuilder sb = new StringBuilder();
char[] nameChar = chines.toCharArray();
for (int i = 0; i < nameChar.length; i++) {
String nameCharStr = java.lang.Character.toString(nameChar[i]);
if (nameCharStr.matches("[\\u4E00-\\u9FA5]+")) {
String pinyinStr = getCharacterShortPinYin(nameChar[i]);
if (pinyinStr != null) {
sb.append(pinyinStr);
}
} else if (nameCharStr.matches("^[a-zA-Z]*")) {
sb.append(nameCharStr.toLowerCase());
} else if (nameCharStr.matches("[0-9]*")) {
sb.append(nameCharStr);
}
}
return sb.toString();
}
public static String getCharacterShortPinYin(char c) {
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
String[] pinyin = null;
try {
pinyin = PinyinHelper.toHanyuPinyinStringArray(c, format);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
if (pinyin == null)
return null;
// 只取一个发音,如果是多音字,仅取第一个发音的首字母
return java.lang.Character.toString(pinyin[0].charAt(0));
}
相关文章推荐
- java中将汉字转为拼音
- android中汉字转为拼音
- php中将汉字转为拼音
- Java中将汉字转为拼音
- Android中将汉字转换成拼音
- js中将汉字转为相应的拼音
- Android中将汉字转换成拼音
- android 将汉字转为拼音的一个示例
- Java中将汉字转为拼音
- Android中将汉字转成拼音
- Android下汉字转拼音的方法
- Android 获取汉字拼音
- Android 对汉字字符串按照拼音排序 Java
- Android联系人按拼音排序以及按汉字首字母或全拼搜索
- 一个可以将汉字转为拼音的存储过程
- 汉字转拼音android实现(HanziToPinyin类)
- Android 对汉字字符串按照拼音排序 Java
- Android中汉字转拼音的jar包下载地址
- 将汉字转为全拼或返回拼音首字母的函数
- getpy() 汉字转为拼音