java實現(xiàn)將漢語轉(zhuǎn)換為拼音功能
這幾天在做項目的時候用到了通過拼音去數(shù)據(jù)庫表里面去模糊查詢漢語字段,剛開始的時候感覺特別神奇,查了好多資料,直接去模糊查詢是能實現(xiàn)的,但是貌似很復雜。所以最終取了一個比較容易的方案,就是給數(shù)據(jù)庫表里面新加了一個拼音字段。完美的解決了這個問題,雖說可以這么干,但是數(shù)據(jù)這么多,全部轉(zhuǎn)換為拼音(人一個一個區(qū)輸入,有點不現(xiàn)實)。于是就在網(wǎng)上找呀找,就找到了一段直接將漢語轉(zhuǎn)換為拼音的一段代碼,在這和大家分享一下。
所需jar:pinyin4j-2.5.0.jar
public static void main(String[] args) { System.out.println(getPingYin("小龍驛站")); } public static String getPingYin(String str) { char[] t1 = null; t1 = str.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); String t4 = ""; int t0 = t1.length; try { for (int i = 0; i < t0; i++) { // 判斷能否為漢字? if (Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) { t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);// 將漢字的幾種全拼都存到t2數(shù)組? t4 += t2[0];// 取出該漢字全拼的第一種讀音并連接到字符串t4? } else { // 如果不是漢字字符,間接取出字符并連接到字符串t4? t4 += Character.toString(t1[i]); } } } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } return t4;
以上所述是小編給大家介紹的java實現(xiàn)將漢語轉(zhuǎn)換為拼音功能,希望對大家有所幫助!
相關(guān)文章
SpringMVC獲取請求參數(shù)實現(xiàn)方法介紹
Spring MVC 是 Spring 提供的一個基于 MVC 設(shè)計模式的輕量級 Web 開發(fā)框架,本質(zhì)上相當于 Servlet,Spring MVC 角色劃分清晰,分工明細,這篇文章主要介紹了SpringMVC實現(xiàn)獲取請求參數(shù)方法2022-11-11在Spring AOP中代理對象創(chuàng)建的步驟詳解
今天和小伙伴們聊一聊 Spring AOP 中的代理對象是怎么創(chuàng)建出來的,透過這個過程再去熟悉一下 Bean 的創(chuàng)建過程,感興趣的小伙伴跟著小編一起來看看吧2023-08-08springboot模塊里面調(diào)用另外一個模塊的方法實現(xiàn)
在Spring-Boot項目開發(fā)中,存在著本模塊的代碼需要訪問外面模塊接口,本文就來介紹一下springboot模塊里面調(diào)用另外一個模塊的方法實現(xiàn),感興趣的可以了解一下2023-11-11詳解Spring Boot加載properties和yml配置文件
本篇文章主要介紹了詳解Spring Boot加載properties和yml配置文件,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-04-04Mybatis-Plus的saveOrUpdateBatch(null)問題及解決
這篇文章主要介紹了Mybatis-Plus的saveOrUpdateBatch(null)問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07Java Web使用簡單的批處理操作(記事本+Tomcat)
這篇文章主要介紹了Java Web使用簡單的批處理操作 ,需要的朋友可以參考下2014-10-10