汉字转换拼音工具
2017-11-08 10:21
253 查看
汉字转换拼音工具
可以直接使用并根据自己的业务需求进行后期处理
···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;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;
/**
* @author zcj
* 中文工具
*/
public class ChineseUtils {
public static void main(String[] args) throws BadHanyuPinyinOutputFormatCombination { System.out.println(chineseToPinYin("吕洞宾")); } /** * 将汉字转换为汉语拼音 * @param src 原字符窜 * @return 转换后的字符窜 * @throws BadHanyuPinyinOutputFormatCombination 错误的汉语拼音输出格式异常 */ public static String chineseToPinYin( String src ) throws BadHanyuPinyinOutputFormatCombination{ if( src.length() <= 0 ){ return "请输入正确的汉字或词组"; } //输出拼音样式格式化器 HanyuPinyinOutputFormat hanFormat = new HanyuPinyinOutputFormat(); //-----------------------------------设置转化后的声调格式---------------------------------------// //hanFormat.setToneType(HanyuPinyinToneType.WITH_TONE_NUMBER);//使用数字表示声调 如:赵 zhao4 hanFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); //表示无声,去除声调显示 如:赵 zhao //hanFormat.setToneType(HanyuPinyinToneType.WITH_TONE_MARK); //使用声调显示 如:正常显示声调 //-----------------------------------设置转化后的声调格式---------------------------------------// //-----------------------------------设置特殊拼音ü的显示格式-------------------------------------// //hanFormat.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON); //使用u和:表示 ü 如:lu: //hanFormat.setVCharType(HanyuPinyinVCharType.WITH_V); //使用v表示 如:lv hanFormat.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE); //使用ü表示 正常显示 //-----------------------------------设置特殊拼音ü的显示格式-------------------------------------// //-----------------------------------设置拼音大小写的显示方式-------------------------------------// hanFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); //全部以小写的方式显示 //hanFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE); //全部以大写的方式显示 //-----------------------------------设置拼音大小写的显示方式-------------------------------------// //原字符串 char[] srcArr = src.trim().toCharArray(); StringBuilder endStr = new StringBuilder(); //以下多个判断可以合并,但是也可以自己做特殊处理 if( srcArr.length > 0 && null ! 4000 = srcArr ){ //遍历转换封装 for (int i = 0; i < srcArr.length; i++) { //如果是中文进行转换 if( Character.toString(srcArr[i]).matches("[\\u4E00-\\u9FA5]+") ){ String[] str = PinyinHelper.toHanyuPinyinStringArray(srcArr[i], hanFormat); endStr.append(str[0]); //如果是小写字母 a-z 则正常输出 }else if(((int)srcArr[i]>=65 && (int)srcArr[i]<=90)){ endStr.append(srcArr[i]); //如果是大写字母 A-Z 则正常输出 }else if(((int)srcArr[i]>=97 && (int)srcArr[i]<=122)){ endStr.append(srcArr[i]); //如果是数字 0-9 则正常输出 }else if((int)srcArr[i]>=48 && (int)srcArr[i]<=57){ endStr.append(srcArr[i]); //如果是其他特殊字符 鸳鸯输出 }else{ endStr.append(srcArr[i]); } } } return endStr.toString(); }
}
···
相关文章推荐
- 汉字文章转换拼音的好工具 pinyinConvert.v20120709
- 几个将汉字转换成拼音的在线工具
- 汉字文章转换拼音的好工具 pinyinConvert.v20120709
- android 汉字拼音转换工具
- asp.net 中将汉字转换成拼音
- 汉字转换成拼音用函数
- Oracle 根据汉字的首字母转换成拼音
- oracle汉字转换成拼音、五笔等
- Java实现汉字转换为拼音
- 将汉字转换为拼音
- C#汉字转换为拼音的类
- 汉字转拼音Pinyin4j工具(C#、Java都可用)
- java-汉字转换成拼音
- c#汉字转换成拼音
- C#中汉字与拼音转换、简繁体转换的官方版本
- 汉字到拼音转换
- [转]汉字转换为拼音
- Java下将汉字转换为拼音的包pinyin4j
- js方法 汉字转换为拼音
- PHP 中文汉字转换成拼音函数