
汉字转为拼音
发布日期:2021-05-07 14:53:55
浏览次数:13
分类:技术文章
本文共 1673 字,大约阅读时间需要 5 分钟。
创建一个拼音类PinYin,需要一个 pinyin4j-2.5.0.jar 包
package com.demo.test;import java.util.HashMap;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.exception.BadHanyuPinyinOutputFormatCombination;public class PinYin { /** * 汉字转为拼音 * @param chinese * @return */ public static String ToPinyin(String chinese){ String pinyinStr = ""; char[] newChar = chinese.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for (int i = 0; i < newChar.length; i++) { if (newChar[i] > 128) { try { pinyinStr += PinyinHelper.toHanyuPinyinStringArray(newChar[i], defaultFormat)[0]; } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{ pinyinStr += newChar[i]; } } return pinyinStr; } //测试一下方法 public static void main(String[] args) {// String name = "好人";// String name2 = ToPinyin(name);// System.out.println(name2); HashMapmap = new HashMap (); map.put("1", "2589");// String num = "13565"; if (map.containsKey("2")) { System.out.println("该字符串包含2这个数字"); }else { System.out.println("该字符串不包含2这个数字"); } }}