什么都不用说了 直接贴代码:
package test; 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; /** * 中文转字母、拼音工具类<br><br> * 注意:依赖的jar包:pinyin4j-2.5.0.jar * * @author wp Dec 9, 2015 6:40:59 PM * */ public class PinYinAPI { public static void main(String[] args) { String ss = PinYinAPI.getPinYinFull("吕氏春秋,我有一颗真挚的心,不要问我为什么?使用PinYin4j很好啊!"); System.out.println(ss); String bb = PinYinAPI.getPinYinFirstChar("吕,我有一颗真挚的心,不要问我为什么?使用PinYin4j很好啊!"); System.out.println(bb); } /** * 得到中文的全拼 * @param str * @return */ public static String getPinYinFull(String str){ return getPinYin(str, true, ToneType.no_tone, true, false); } /** * 得到中文的首字母(大写) * @param str * @return */ public static String getPinYinFirstChar(String str){ return getPinYin(str, false, ToneType.no_tone, false, true); } /** * 声调类型(no_tone:无声调、num_tone:数字声调、mark_tone:标记声调-中文) * */ public static enum ToneType{ no_tone, num_tone, mark_tone } private static HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat(); /** * 提取每个汉字的全拼或者首字母 * * @param str 要转换的字符串 * @param isFull 是否转全拼 * @param tone 声调类型 * @param isLow 是否转小写 * @param isTrim 是否去除中间的空格 * @return */ public static String getPinYin(String str, boolean isFull, ToneType tone, boolean isLow, boolean isTrim) { if (isNull(str)) { return ""; } if(isLow){ //转换大小写 (LOWERCASE:小写:默认格式、UPPERCASE:大写) format.setCaseType(HanyuPinyinCaseType.LOWERCASE); }else{ format.setCaseType(HanyuPinyinCaseType.UPPERCASE); } if(ToneType.mark_tone.equals(tone)){ // WITH_TONE_NUMBER(以数字代替声调:默认格式)、WITHOUT_TONE (无声调)、WITH_TONE_MARK (有声调,编码必须使用WITH_U_UNICODE) format.setToneType(HanyuPinyinToneType.WITH_TONE_MARK); // 以“吕”为例:WITH_U_AND_COLON(lu:3:默认格式)、WITH_U_UNICODE(lü3)、WITH_V(lv3) format.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE); } else if(ToneType.num_tone.equals(tone)){ format.setToneType(HanyuPinyinToneType.WITH_TONE_NUMBER); format.setVCharType(HanyuPinyinVCharType.WITH_V); } else{ format.setToneType(HanyuPinyinToneType.WITHOUT_TONE); format.setVCharType(HanyuPinyinVCharType.WITH_V); } StringBuilder sb = new StringBuilder(); boolean flag = false; for (int i = 0; i < str.length(); i++) { char word = str.charAt(i); // 提取汉字的首字母、拼音 try { String[] pinyin = PinyinHelper.toHanyuPinyinStringArray(word, format); // pinyinArray = PinyinHelper.toTongyongPinyinStringArray(word); // pinyinArray = PinyinHelper.toYalePinyinStringArray(word); // pinyinArray = PinyinHelper.toWadeGilesPinyinStringArray(word); // System.out.println(Arrays.toString(pinyinArray)); if (pinyin != null) { if(isFull){ if(flag){ sb.append(" "+pinyin[0]); }else{ sb.append(pinyin[0]); flag = true; } }else{ sb.append(pinyin[0].charAt(0)); } }else { sb.append(word); flag = false; } } catch (Exception e) { e.printStackTrace(); sb.append(word); } } return sb.toString(); } /** * 判断字符串是否为空 */ private static boolean isNull(Object strData) { if (strData == null || String.valueOf(strData).trim().equals("")) { return true; } return false; } }
相关推荐
汉字转换拼音、拼音首字母工具类!很好,很实用,可以把中文转换成汉语拼音全拼或者拼音首字母!
Java汉字转换为拼音工具类 汉字转换为拼音包括全拼、首字母缩写;全拼可计算出多音字。
实用的汉字转拼音专用工具。本软件采用了标准汉字拼音库文件,可实现简体汉字转换为标准全拼拼音,操作简单。转换时可以选择拼音为大写、小写或是首字母大写,以及是否忽略标点符号等。
汉字转拼音的工具类,支持重音字 String str = "重长参乐"; //首字母 System.out.println(Ch2Spell.converterToFirstSpell(str)); //全拼 System.out.println(Ch2Spell.converterToSpell(str));
java工具类_99%以上的汉字转化为全拼/拼音的第一个字符
1.功能:对河北省五级行政区划元数据拼接后生成全拼、简拼 2.代码结构: ChineseToPinyin是中文转全拼、简拼工具类 SqlHelper是数据库连接操作工具类 Main是主函数
将汉字转化成拼音的工具类,包括全拼和首字母拼音等。内含一个Java工具类和一个TXT文本
汉子转换成拼音工具类,包括把汉字转换成首字母大写的全拼字母,把汉字转换成小写的简拼,支持多音字符的转换以及是否带声调
一步到位工具条OneStepBar是一款小巧的桌面工具 一步到位工具条OneStepBar功能: ...1. 添加网址收集的查找功能:能够根据标题、全拼、拼音首字母、网址关键字、备注关键字等进行快速查找 2. 迁移到VS2010平台
输入方法 在小写英文状态,输入一个汉字的拼音字母,根据提示行重码汉字的序号,按该字序号对应的数字键即可输入该汉字。提示行以外的重码字,通过翻页查找。 例:广、挤 如果输入的是词,就应将词语的拼音全部输入...
(2)模糊查询:可以按姓名、电话号码、手机、姓名的汉语拼音的声母或全拼查询。支持模糊查询即输入部分数据后,可以查询出符合条件的全部条目。如:输入“张”,列出所有名字中有“张”的条目;输入“2645”列出...
个汉语拼音的字母分类。 5 .删除和修改功能:查询到一个条目后,可以删除该条目或修改条目内容。 6 .通信录内容的导入和导出功能。要求能够以CSV 格式和 vCard 格式导入 和导出通讯录的全部内容。并能够与主流...
(2)模糊查询:可以按姓名、姓名的汉语拼音的声母或全拼查询。支持模糊查询,即输入部分数据后,可以查询出符合条件的全部条目。如:输入“张”,列出所有名字中有“张”的条目;输入“xl”,列出声母为该2个字母的...
根据汉字 解析汉字的全拼(拼音)和首字母(导入excel到用户表,根据用户的汉字姓名生成拼音的用户名) 12.app接口(支持与其它语言数据交互) 12.极光推送 (推送给APP及时消息,APP不启动也能收到) 14.微信接口(身份...
根据汉字 解析汉字的全拼(拼音)和首字母(导入excel到用户表,根据用户的汉字姓名生成拼音的用户名) 12.app接口(支持与其它语言数据交互) 12.极光推送 (推送给APP及时消息,APP不启动也能收到) 14.微信接口(身份...
C、选择全拼输入法来输入汉字 D、在控制面板中选“输入法”,选择CBK汉字输入法 27.要想在文章中输入希腊字母“π”,应___B___。 A、用英文字母“PI”代替B、右击“输入法状态”窗口中的软键盘按钮,然后选择希腊...