java将汉字转换为拼音
2016-03-11 15:55
459 查看
1.在pom.xml里引入jar包
2.新建一个util
<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version> </dependency>
2.新建一个util
public class PinyinUtil { /* * 获取汉字简拼 */ public static String getPinYinHeadChar(String str) { StringBuffer convert = new StringBuffer(); for (int j = 0; j < str.length(); j++) { char word = str.charAt(j); String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); if (pinyinArray != null) { convert.append(pinyinArray[0].charAt(0)); } else { convert.append(word); } } return convert.toString(); } /** * 获取汉字全拼(无空格) * @param src * @return */ public static String getPingYinTrimSpace(String src) { char[] t1 = src.toCharArray(); String[] t2 = new String[t1.length]; HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat(); t3.setCaseType(HanyuPinyinCaseType.LOWERCASE); t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE); t3.setVCharType(HanyuPinyinVCharType.WITH_V); StringBuffer t4 = new StringBuffer(); try { for (int i = 0; i < t1.length; i++) { // if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) { t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3); t4.append(t2[0]); } else { t4.append(Character.toString(t1[i])); } } return t4.toString().replaceAll(" ", ""); } catch (BadHanyuPinyinOutputFormatCombination e1) { e1.printStackTrace(); } return t4.toString(); } public static void main(String[] args) { System.out.println(getPingYinTrimSpace("兰溪小城")); } }
相关文章推荐
- Eclipse控制台中的中文输出乱码问题
- Spring Security限制多个用户登录
- java序列化
- Java的IO详细总结
- Eclipse工具插件开发之Table表格上控件刷新的问题
- Java NIO使用及原理分析 (四)
- Java NIO使用及原理分析(三)
- Java序列化与反序列化
- Java NIO使用及原理分析(二)
- Java NIO使用及原理分析 (一)
- Eclipse 的 Debug 介绍与技巧
- java.io.File类基本使用——遍历某路径的所有文件夹及文件
- SpringMvc 笔记
- JAVA虚拟机-Java体系结构及hotspot介绍(一)
- 四种基本排序算法(java表示)
- MyBatis3与Spring4整合方法详解(使用SqlSessionTemplate类)
- 日期操作java和js类
- 关于java中float和int 精度和范围的问题
- 组合属性注入spring
- JAVA socket编程