本文参考自
http://www.oschina.net/code/snippet_175832_14587
import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
public class PinYinUtil {
/**
* 将字符串中的中文转化为拼音,其他字符不变
*
* @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 = "";
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]);
}
return output;
}
/**
* 获取汉字串拼音首字母,英文字符不变
*
* @param chinese
* 汉字串
* @return 汉语拼音首字母
*/
public static String getFirstSpell(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) {
String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i],
defaultFormat);
if (temp != null) {
pybf.append(temp[0].charAt(0));
}
} else {
pybf.append(arr[i]);
}
}
return pybf.toString().replaceAll("\\W", "").trim();
}
/**
* 获取汉字串拼音,英文字符不变
*
* @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) {
pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i],
defaultFormat)[0]);
} else {
pybf.append(arr[i]);
}
}
return pybf.toString();
}
}
分享到:
相关推荐
Java实现汉字转拼音功能,包括首字母和全拼,为大家减少时间,为此提供便捷。
java汉字转拼音,android汉字转拼音,汉字转拼音首字母,汉字转ASCII
java程序中文转拼音,转首字母
将汉字转成拼音 汉字首字母获取 多音字转化
java 取出汉语字符串各汉字拼音首字母并大写
java提取汉字拼音首字母的代码,简体中文的编码范围从B0A1(45217)一直到F7FE(63486),不支持多音字处理
java中根据汉字字符串获取拼音首字母工具类
java将汉字转化为拼音大小写(提取首字母,将汉字转化为拼音首字母大小写的相关算法)
Java汉字转拼音(支持多音字)
java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java...
一个获取汉字拼音首字母的java程序,简单有效。
文本框Enter、列表框双击或者Enter、按钮点击皆可搜索,模糊搜索后可上下键选择列表框中某一项,提供汉字、拼音、拼音首字母的模糊查询(匹配左侧)
Java实现汉字转拼音功能,包括 首字母和全拼 for (int j = 0, int len = str.length(); j ; j++) { char word = str.charAt(j); String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); if ...
java中汉字得到首字母大写 一般得到姓名的第一个字母时用得到! 很实用。
汉字转拼音工具类
java汉字转拼音字母项目例子_可直接运行
1、添加pinyin4j-2.5.0.jar 的jar包 2、PinYinUtil至此汉字转换拼音,汉字首字母
java 获取汉字拼音首字母 源码 /** * GB 2312-80 把收录的汉字分成两级。第一级汉字是常用汉字,计 3755 个, 置于 16~55 * 区,按汉语拼音字母/笔形顺序排列;第二级汉字是次常用汉字, 计 3008 个,置于 56~...