java-汉字转换拼音-pinyin4j.jar
2023-09-27 14:20:51 时间
使用pinyin4j将汉字转成拼音,附件为pinyin4j的jar包
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; public class ChineseToEnglish { // 将汉字转换为全拼 public static String getPingYin(String src) { char[] t1 = null; t1 = src.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++) { // 判断是否为汉字字符 if (java.lang.Character.toString(t1[i]).matches( "[\\u4E00-\\u9FA5]+")) { t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3); t4 += t2[0]; } else t4 += java.lang.Character.toString(t1[i]); } // System.out.println(t4); return t4; } catch (BadHanyuPinyinOutputFormatCombination e1) { e1.printStackTrace(); } return t4; } // 返回中文的首字母 public static String getPinYinHeadChar(String str) { String convert = ""; for (int j = 0; j < str.length(); j++) { char word = str.charAt(j); String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); if (pinyinArray != null) { convert += pinyinArray[0].charAt(0); } else { convert += word; } } return convert; } // 将字符串转移为ASCII码 public static String getCnASCII(String cnStr) { StringBuffer strBuf = new StringBuffer(); byte[] bGBK = cnStr.getBytes(); for (int i = 0; i < bGBK.length; i++) { strBuf.append(Integer.toHexString(bGBK[i] & 0xff)); } return strBuf.toString(); } public static void main(String[] args) { System.out.println(getPingYin("綦江qq县")); System.out.println(getPinYinHeadChar("綦江县")); System.out.println(getCnASCII("綦江县")); } }
本文转载
maven配置下载
<dependency> <groupId>com.belerweb</groupId> <artifactId>pinyin4j</artifactId> <version>2.5.0</version> </dependency>
相关文章
- java中list列表转换为string数组的方法
- 用命令行编译java并生成可执行的jar包
- Java图片验证码
- 编译一个依赖于静态Java库(static.jar)的应用程序
- Java利用QRCode.jar包实现二维码编码与解码
- java项目打成jar包,并执行
- 你还在写垃圾代码?快用 Java 8 重构传统设计模式吧,是真的优雅!
- Java Jar包压缩、解压使用指南
- Linux后台运行java的jar包
- Java Thread 线程
- java运行jar命令提示没有主清单属性
- 使用 DJ Java Decompiler 将整个jar包反编译成源文件
- 牛客网刷题——java
- java中的getStackTrace和printStackTrace的区别
- Java知识点《一》
- Java项目构建基础:统一结果,统一异常,统一日志
- 【已解决】java -jar XXX.jar中没有主清单属性
- java加载外部文件数据到代码中:外部数据文件放到jar包中,调用方法getResourceAsStream
- 【Java 虚拟机原理】Dalvik 虚拟机 ( 打包 Jar 文件和 Dex 文件 | 反编译 Dex 文件 | 分析 Dex 文件反编译结果 )
- Java 并发/多线程教程(五)-相同线程
- 把java项目打包成jar包并可以直接运行【我】
- mybatis异常invalid comparison: java.util.Date and java.lang.String
- Java案例:双色球的实现
- Java名称的历史起源
- Java语言实现简单FTP软件------>源码放送(十三)