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