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-05
Sentinel Dashboard限流規(guī)則保存方式
這篇文章主要介紹了Sentinel Dashboard限流規(guī)則保存方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
java多次嵌套循環(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-03
G1垃圾回收器在并發(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-03

