Java將中文轉(zhuǎn)化為拼音的簡(jiǎn)單代碼示例
Java中可以使用第三方庫(kù)pinyin4j來(lái)實(shí)現(xiàn)中文轉(zhuǎn)拼音。
首先,需要引入pinyin4j的jar包,可以在pinyin4j的官方網(wǎng)站(http://pinyin4j.sourceforge.net/)下載,也可以通過(guò)Maven引入。
Maven引入依賴(lài):
<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.1</version> </dependency>
以下是一個(gè)簡(jiǎn)單的示例代碼,可以將中文字符串轉(zhuǎn)換為拼音:
import net.sourceforge.pinyin4j.PinyinHelper; public class ChineseToPinyin { public static void main(String[] args) { String chinese = "你好,世界!"; String pinyin = convertToPinyin(chinese); System.out.println(pinyin); } public static String convertToPinyin(String chinese) { StringBuilder pinyin = new StringBuilder(); char[] chars = chinese.toCharArray(); for (char c : chars) { String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c); if (pinyinArray != null) { pinyin.append(pinyinArray[0]); } else { pinyin.append(c); } } return pinyin.toString(); } }
執(zhí)行以上代碼,輸出結(jié)果為:ni3hao3,shi4jie4!
其中拼音后面的數(shù)字代表聲調(diào),3代表第三聲
那么如果我們不需要聲調(diào),如何實(shí)現(xiàn)呢?其實(shí)目前已經(jīng)支持了,代碼如下:
public static void main(String[] args) { String input = "你好,世界!"; // 設(shè)置不帶聲調(diào)的輸出選項(xiàng) net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat format = new net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat(); format.setToneType(net.sourceforge.pinyin4j.format.HanyuPinyinToneType.WITHOUT_TONE); StringBuilder output = new StringBuilder(); for (char c : input.toCharArray()) { try { String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(c, format); if (pinyinArray != null && pinyinArray.length > 0) { output.append(pinyinArray[0]).append(" "); } else { output.append(c).append(" "); } } catch (Exception e) { output.append(c).append(" "); } } System.out.println(output.toString().trim()); // 輸出結(jié)果:pin yin 4j }
此時(shí)執(zhí)行效果如下:ni hao , shi jie !
總結(jié)
到此這篇關(guān)于Java將中文轉(zhuǎn)化為拼音的文章就介紹到這了,更多相關(guān)Java中文轉(zhuǎn)化為拼音內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SpringBoot整合EasyExcel進(jìn)行大數(shù)據(jù)處理的方法詳解
EasyExcel是一個(gè)基于Java的簡(jiǎn)單、省內(nèi)存的讀寫(xiě)Excel的開(kāi)源項(xiàng)目。在盡可能節(jié)約內(nèi)存的情況下支持讀寫(xiě)百M(fèi)的Excel。本文將在SpringBoot中整合EasyExcel進(jìn)行大數(shù)據(jù)處理,感興趣的可以了解一下2022-05-05Sentinel Dashboard限流規(guī)則保存方式
這篇文章主要介紹了Sentinel Dashboard限流規(guī)則保存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06java多次嵌套循環(huán)查詢(xún)數(shù)據(jù)庫(kù)導(dǎo)致代碼中數(shù)據(jù)處理慢的解決
這篇文章主要介紹了java多次嵌套循環(huán)查詢(xún)數(shù)據(jù)庫(kù)導(dǎo)致代碼中數(shù)據(jù)處理慢的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-03-03G1垃圾回收器在并發(fā)場(chǎng)景調(diào)優(yōu)詳解
這篇文章主要為大家介紹了G1垃圾回收器在并發(fā)場(chǎng)景調(diào)優(yōu)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪2022-04-04深入學(xué)習(xí)Spring Cloud-Ribbon
這篇文章主要介紹了Spring Cloud-Ribbon的相關(guān)知識(shí),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友一起看看吧2021-03-03Java 限制子類(lèi)訪(fǎng)問(wèn)的方法分析
這篇文章主要介紹了Java 限制子類(lèi)訪(fǎng)問(wèn)的方法,結(jié)合實(shí)例形式分析了java類(lèi)的繼承與訪(fǎng)問(wèn)相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下2019-09-09