|
@@ -0,0 +1,72 @@
|
|
|
+package com.diagbot.util;
|
|
|
+
|
|
|
+import net.sourceforge.pinyin4j.PinyinHelper;
|
|
|
+import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
|
|
|
+import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
|
|
|
+import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @Description: 汉字转拼音
|
|
|
+ * @author: gaodm
|
|
|
+ * @time: 2018/12/14 14:20
|
|
|
+ */
|
|
|
+public class Cn2SpellUtil {
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 汉字转换位汉语拼音首字母,英文字符不变
|
|
|
+ *
|
|
|
+ * @param chines 汉字
|
|
|
+ * @return 拼音
|
|
|
+ */
|
|
|
+ public static String converterToFirstSpell(String chines) {
|
|
|
+ String pinyinName = "";
|
|
|
+ char[] nameChar = chines.toCharArray();
|
|
|
+ HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
|
|
|
+ defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
|
|
|
+ defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
|
|
|
+ for (int i = 0; i < nameChar.length; i++) {
|
|
|
+ if (nameChar[i] > 128) {
|
|
|
+ try {
|
|
|
+ pinyinName +=
|
|
|
+ PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ pinyinName += nameChar[i];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return pinyinName;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 汉字转换位汉语拼音,英文字符不变
|
|
|
+ *
|
|
|
+ * @param chines 汉字
|
|
|
+ * @return 拼音
|
|
|
+ */
|
|
|
+ public static String converterToSpell(String chines) {
|
|
|
+ String pinyinName = "";
|
|
|
+ char[] nameChar = chines.toCharArray();
|
|
|
+ HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
|
|
|
+ defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
|
|
|
+ defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
|
|
|
+ for (int i = 0; i < nameChar.length; i++) {
|
|
|
+ if (nameChar[i] > 128) {
|
|
|
+ try {
|
|
|
+ pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];
|
|
|
+ } catch (Exception e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ pinyinName += nameChar[i];
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return pinyinName;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ System.out.println(converterToFirstSpell("欢迎来到Java世界"));
|
|
|
+ System.out.println(converterToSpell("欢迎来到Java世界"));
|
|
|
+ }
|
|
|
+}
|