91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 186KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2021-06-23
  • 語言: Java
  • 標簽: java??

資源簡介

java準確讀取多音字的方法。多音字讀取一直都是個問題,筆者搜索了很多方法,結合這些方法的原理,完成了準確讀取Pinyin的幫助方法。

資源截圖

代碼片段和文件信息

package?data.util;

import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStream;
import?java.io.InputStreamReader;
import?java.util.ArrayList;
import?java.util.HashMap;
import?java.util.List;
import?java.util.Map;

import?net.sourceforge.pinyin4j.PinyinHelper;
import?net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import?net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import?net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import?net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;
import?net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

public?class?PinyinUtilsPro?{
private?static?Map>?pinyinMap?=?new?HashMap>();

private?static?List?pinyin?=?new?ArrayList();
private?static?List?hpinyin?=?new?ArrayList();

private?static?String?regx?=?“(|?|\\[|\\])“;//?正則表達式,匹配字符串用

public?static?void?main(String[]?args)?{
String?str?=?“綠色中國銀行長沙分行“;

convertChineseToPinyin(str);
String?py?=?getPinyin();
System.out.println(str?+?“?=?“?+?py);

String?headP?=?getHeadPinyin();
System.out.println(headP);
}

public?static?String?getPinyin(){
return?String.valueOf(pinyin).replaceAll(regx?““);
}

public?static?String?getHeadPinyin(){
return?String.valueOf(hpinyin).replaceAll(regx?““);
}

/**
?*?漢字轉拼音?最大匹配優先
?*?
?*?@param?chinese
?*?@return
?*/
public?static?void?convertChineseToPinyin(String?chinese)?{
initPinyin();
HanyuPinyinOutputFormat?defaultFormat?=?new?HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

char[]?arr?=?chinese.toCharArray();

for?(int?i?=?0;?i? char?ch?=?arr[i];
if?(ch?>?128)?{?//?非ASCII碼
//?取得當前漢字的所有全拼
try?{
String[]?results?=?PinyinHelper.toHanyuPinyinStringArray(
ch?defaultFormat);
if?(results?!=?null)?{?//?非中文
int?len?=?results.length;
if?(len?==?1)?{?//?不是多音字
setValue(results[0]);
}?else?{?//?多音字
//?合并同音不同聲調(去重)
List?duoyinziPinyins=?new?ArrayList();//?定義一個空的數組
for(int?k=0;k if(!duoyinziPinyins.contains(results[k])){
duoyinziPinyins.add(results[k]);
}
}

if(duoyinziPinyins.size()==1){
setValue(duoyinziPinyins.get(0));//?如果新的集合長度是1,就取第一個
}else{//?
System.out.println(“多音字:“?+?ch);
int?length?=?chinese.length();
boolean?flag?=?false;
for?(int?x?=?0;?x? String?py?=?duoyinziPinyins.get(x);

if?(i?+?3?<=?length)?{?//?后向匹配2個漢字?大西洋
if(matchPinyins(pychinese?i?i+3)){
flag?=?setValue(py);
break;

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????3522??2014-12-02?18:44??多音字.png
?????目錄???????????0??2014-12-02?18:45??lib\
?????文件??????188920??2014-11-26?16:10??lib\pinyin4j-2.5.0.jar
?????目錄???????????0??2014-12-02?18:45??src\
?????目錄???????????0??2014-12-02?18:45??src\data\
?????目錄???????????0??2014-12-02?18:45??src\data\util\
?????文件????????6170??2014-12-02?18:44??src\data\util\PinyinUtilsPro.java
?????文件???????12943??2014-12-02?15:10??src\duoyinzi_dic.txt

評論

共有 條評論