この記事の例は、参照のためにJava漢字の特定のコードをPinyinツールに共有しています。特定のコンテンツは次のとおりです
com.google.common.base.strings; import net.sourceforge.pinyin4j.pinyinhelper; import net.sourceforge.pinyin4j.format.hanyupinyinoutputformat; Import.sourceforge.pinyin4j.format.hanyintonetype;インポート; net.sourceforge.pinyin4j.format.exception.badhanyupinyinoutputformatcombination; import org.slf4j.logger; Import org.slf4j.loggeractory; Import java.util.arraylist; Import Java.util.list; Java.util.util.util.util.util.util.util.locale pinyinutils {private static final logger logger = loggerfactory.getLogger(pinyinutils.class); / ** *単語解析 * * @param str first * @return */ public static string [] convert(string str){string [] reslut = null; hanyupinyinoutputformathanyupinyinoutputformat = new hanyupinyinoutputformat(); hanyupinyinoutputformat.settonetype(hanyupinyIntoneType.without_tone); try {reslut = pinyinhelper.tohanyupinyinstringarray(str.charat(0)、hanyupinyinoutputfulat); treeset <string> stringtreeSet = new Treeset <>(); for(int i = 0; i <reslut.length; i ++){if(reslut.length> = 3){break; } stringtreeSet.add(reslut [i] .replace( "u:"、 "v")); } reslut = new String [StringTreeSet.size()]; reslut = StringTreeSet.ToArray(reslut); } catch(badhanyupinyinoutputformatcombination badhanyupinyoutputformatcombination){badhanyupinyinoutputformatcombination.printstacktrace(); } catch(Exception e){logger.error( "[convert]:"、e); } resut reslut; } / ** * phrase parsing(full writing) * * @param chs * @return * / public static string gestell(string chs){return translate(chs、false); } / ** * Pinyinへの漢字 * * @param chs * @param頭字語 * @return * / private static string translate(string chs、booleanの頭字語){stringbuffer buffer = new StringBuffer(); if(strings.isnullorempty(chs))return ""; try {list <list <string >> temps = new ArrayList <>(); int len = chs.length(); int len1 = 0; for(int i = 0; i <len; i ++){list <string> stringlist = new ArrayList <>();文字列key = chs.charat(i) + ""; if(key.getBytes()。length> = 2){string [] temp = convert(key); if(temp.length == 0){継続; } if(temp == null){stringlist.add( ""); } else {for(string v:temp){stringlist.add(v); }}} else {stringlist.add(key); } temps.add(stringlist); LEN1 ++; } list <list <string >> t = new ArrayList <>(); for(int i = 0; i <len1; i ++){list <string> currentList = new ArrayList <>();リスト<文字列> stringlist = temps.get(i); if(stringlist!= null){for(string s:stringlist){if(cronmy){s = s.charat(0) + ""; } if(i> 0){list <string> prelerist = t.get(i -1); if(prerist!= null){for(string s1:prerist){currentlist.add(s1 + s); }}}} else {currentList.add(s); }}} t.add(i、currentList); } if(t.size()> 0){list <string> currentlist = t.get(t.size() - 1); if(currentList!= null){for(string current:currentList){buffer.append(current); buffer.append( ""); }}} return buffer.toString(); } catch(Exception e){logger.error( "[getSortletters]:"、e);戻る ""; }} / ** *フレーズparsing(略語) * * @param chs * @return * / public static string getSmallselling(string chs){return translate(chs、true); } / ** *最初の文字を取得 * * @return * / public static string getSortLetters(string pingyin){try {string sortstring = pingyin.substring(0、1).touppercase(locale.getDefault()); //最初の文字が英語の文字であるかどうかを判断するための正規表現if(sortstring.matches( "[az]")){return sortstring.touppercase(locale.getDefault()); }} catch(Exception e){logger.error( "[getSortletters]:"、e); } 戻る "#"; } public static void main(string [] args){pinyinutils p = new pinyinutils(); System.out.println(p.getSelling( "single")); System.out.println(p.getsmallselling( "test")); }}上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。