时间: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邮箱联系删除。
本文实例讲述了C#实现汉字转拼音或转拼音首字母的方法。分享给大家供大家参考。具体实现方法如下://////汉字转拼音或转拼音首字母///publicclassC
一、问题描述汉字转化为对应的拼音或者获取汉字拼音的首字母,这些都是在开发中经常遇到的问题,在获取汉字的拼音或者拼音的首字母之后,我们在推荐或者搜索部门可以很大程
获取汉字拼音的首字母是一个在做项目的过程中经常需要用到的功能,今天我们主要来探讨下C#获取汉字的拼音首字母//////在指定的字符串列表CnStr中检索符合拼音
本文实例讲述了PHP基于ICU扩展intl快速实现汉字转拼音及按拼音首字母分组排序的方法。分享给大家供大家参考,具体如下:ICU(InternationalCo
动车组的车次命名以“D”打头(“动”的拼音首字母),而高速动车的车次命名以“G”打头(“高”的拼音首字母),我们可以凭借这个区分它是高铁还是动车。高铁的轨道和动