java 根据汉字生成拼音全拼或拼音首字母的示例

时间:2021-05-19

1.情景展示

  java 根据中文生成对应的拼音

2.准备工作

  所需jar包:pinyin4j-2.5.0.jar  

3.解决方案

  导包

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;

  代码实现

/*** 根据汉字生成拼音全拼或拼音首字母* @explain* @author Marydon* @creationTime 2020年5月14日下午4:26:30* @version 1.0* @since* @email marydon20170307@163.com*/public class GetPinyin {/*** 得到全拼* @param str* @return 全拼(小写)*/public static String getPinYin(String str){char t1[]=null;t1=str.toCharArray();String[] t2=new String[t1.length];HanyuPinyinOutputFormat t3=new HanyuPinyinOutputFormat();t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);t3.setVCharType(HanyuPinyinVCharType.WITH_V);String t4="";int t0=t1.length;try {for ( int i = 0; i < t0; i++ ) {//是用来判断是不是中文的一个条件,采用的是unicode编码if(Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")){t2= PinyinHelper.toHanyuPinyinStringArray(t1[i],t3);t4+=t2[0];}else {t4+=Character.toString(t1[i]);}}return t4;} catch ( BadHanyuPinyinOutputFormatCombination badHanyuPinyinOutputFormatCombination ) {badHanyuPinyinOutputFormatCombination.printStackTrace();}return t4;}/*** 得到汉字首字母的拼音* @param str* @return 拼音首字母(大写)*/public static String getPinYinHeaderChar(String str){String convert="";for ( int i = 0; i < str.length(); i++ ) {char word=str.charAt(i);String[] pinYinArray=PinyinHelper.toHanyuPinyinStringArray(word);if ( pinYinArray!=null ){convert+=pinYinArray[0].charAt(0);}else {convert+=word;}}return convert.toUpperCase();}  //测试public static void main(String[] args) {System.out.println(getPinYin("火影忍者Marydon"));System.out.println(getPinYinHeaderChar("海贼王"));}}

4.效果展示 

以上就是java 根据汉字生成拼音全拼或拼音首字母的示例的详细内容,更多关于Java 汉字生成拼音的资料请关注其它相关文章!

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章