java根据中文汉字获取拼音——java
生活随笔
收集整理的這篇文章主要介紹了
java根据中文汉字获取拼音——java
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先
在pom文件中引入依賴 pinyin4j
<dependencies><dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j</artifactId><version>2.5.0</version></dependency> </dependencies>代碼
/*** 將拼音轉換成拼* ^[\u4E00-\u9FA5]+$ 匹配簡體*/@ApiOperation(value="通過中文獲取拼音", notes="通過中文獲取拼音")@PutMapping(value = "/keyword")public Result<?> keyword (@RequestParam(name="yingwen",required=true) String yingwen,boolean full){String regExp = "^[u4E00-\\u9FA5]+$";StringBuffer py = new StringBuffer();if (yingwen == null || "".equals(yingwen.trim())) {return Result.ok("");}String pinyin = "";for (int i = 0; i < yingwen.length(); i++) {char unit = yingwen.charAt(i);if (match(String.valueOf(unit), regExp))// 是漢字,則轉拼音{pinyin = convertSingleyingwen2Pinyin(unit);if (full) {py.append(pinyin);} else {py.append(pinyin.charAt(0));}} else {py.append(unit);}}Result result = new Result();result.setResult(py.toString());return result;//return py.toString();}/* *** 將單個漢字轉成拼音** @param yingwen* @return*/@AutoLog(value = "將單個漢字轉成拼音")@ApiOperation(value="將單個漢字轉成拼音", notes="將單個漢字轉成拼音")@PutMapping(value = "/convertSingleyingwen2Pinyin")private String convertSingleyingwen2Pinyin(@RequestParam(name="yingwen",required=true) char yingwen) {HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);String[] res;StringBuffer py = new StringBuffer();try {res = PinyinHelper.toHanyuPinyinStringArray(yingwen, outputFormat);py.append(res[0]);// 對于多音字,只用第一個拼音} catch (Exception e) {e.printStackTrace();return "";}return py.toString();}/**** @param str* 源字符串* @param regex* 正則表達式* @return 是否匹配*/public static boolean match(String str, String regex) {Pattern pattern = Pattern.compile(regex);Matcher matcher = pattern.matcher(str);return matcher.find();}總結
以上是生活随笔為你收集整理的java根据中文汉字获取拼音——java的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言插入排序算法及代码
- 下一篇: 参考文献的自动修改