java獲取中文的拼音以及獲取中文拼音的首字母

2021-08-21 06:29:14 字數 2178 閱讀 9175

首先在pom檔案中引入依賴 pinyin4j

com.belerwebgroupid>

pinyin4jartifactid>

2.5.0version>

dependency>

dependencies>

//獲取中文的拼音

@test

public

void

testpinyin() throws badhanyupinyinoutputformatcombination else

}system.err.println(pinyin);

}

//獲取中文的首字母

@test

public

void

testpinyin() throws badhanyupinyinoutputformatcombination }}

system.err.println(pinyin);

}

pinyin4j使用手冊

一般用法

pinyin4j的使用很方便,一般轉換只需要使用pinyinhelper類的靜態工具方法即可:

string pinyin =pinyinhelper.tohanyupinyinstringarray(『劉』);
//該類還有其他的拼音轉換形式,但是基本上用不到,就不介紹了

返回的陣列即是該字元的拼音,如上例就是pinyin[0]=liu2,後面的數字代表聲調,聲調為5表示輕讀,無聲調。之所謂返回陣列,是因為被判定的漢字有可能有多個讀音。如果輸入的引數不是漢字,則返回null。

如果對於拼音轉換後的結果有一些特定的格式要求目前pinyin4j支援:

聲調格式化。例如:「劉」字的格式化後為「liu2」或「liu」或「liú」

對特殊拼音ü的的顯示格式。例如「u:」或「v」或「ü」

大小寫的轉換。例如:「liu2」或「liu2」

以上這些格式可以混合使用,下面就來介紹具體的使用方法,首先需要建立格式化物件hanyupinyinoutputformat,例如:

hanyupinyinoutputformat outputformat =new hanyupinyinoutputformat();
然後分別呼叫outputformat的set方法設定上述一些格式要求:

設定聲調格式:

outputformat.settonetype(hanyupinyintonetype);
方法引數hanyupinyintonetype有以下常量物件:

hanyupinyintonetype.with_tone_number 用數字表示聲調,例如:liu2

hanyupinyintonetype.without_tone 無聲調表示,例如:liu

hanyupinyintonetype.with_tone_mark 用聲調符號表示,例如:liú

設定特殊拼音ü的顯示格式:

outputformat.setvchartype(hanyupinyinvchartype);
方法引數hanyupinyinvchartype有以下常量物件:

hanyupinyinvchartype.with_u_and_colon 以u和乙個冒號表示該拼音,例如:lu:

hanyupinyinvchartype.with_v 以v表示該字元,例如:lv

hanyupinyinvchartype.with_u_unicode 以ü表示

設定大小寫格式

outputformat.setcasetype(hanyupinyincasetype);
hanyupinyincasetype.lowercase 轉換後以全小寫方式輸出

hanyupinyincasetype.uppercase 轉換後以全大寫方式輸出

設定好格式物件後還是利用上述的工具類方法進行拼音轉換,只不過需要將格式化物件當成方法引數傳入轉換方法,告知要轉換的格式要求:

string pinyin =pinyinhelper.tohanyupinyinstringarray(『劉』, outputformat);
但該方法會有異常丟擲,注意處理。

js 獲取中文的拼音

傳送門 提取拼音,返回首字母大寫形式 getfullchars function str else return result 提取首字母,返回大寫形式 getcamelchars function str 處理arrresult,返回所有可能的拼音首字母串陣列 return this getres...

java獲取中文拼音首字母工具類

package com.sw.documentary.common.utils public class gb2alpha private char alphatable private int table new int 27 初始化 public gb2alpha 主函式,輸入字元,得到他的聲母...

java字元操作獲取漢字的拼音以及其它經常使用工具

公司需求年年有,今年有點小特殊,哈哈。忽然加了個需求,說要實現漢字轉拼音查詢。在努力下寫出來了,如今分享一下吧!漢字轉拼音縮寫 param str 要轉換的漢字字串 return string 拼音縮寫 public static string getpystring string str else...