Java文本转拼音 全拼 每个字的首字母工具类

1、添加依赖

<!-- https://mvnrepository.com/artifact/org.clojars.cbilson/pinyin4j -->
<dependency>
	<groupId>org.clojars.cbilson</groupId>
	<artifactId>pinyin4j</artifactId>
	<version>2.5.0</version>
</dependency>

2、调用代码 

package com.XinjueManager.util; 
/** 
 * @author tqf
 * @version 创建时间:2019-12-11 下午1:26:58 
 * 类说明:
 */
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;
/**
 * 汉语拼音工具类
 * Created by charlin on 2017/9/3.
 */
public class PingYinUtil {
 /**
  * 获得所有拼音字母
  * @param args
  * @return
  */
 public static String getAllLeter(String args) {
  String result = "";
  char[] charArray = args.toCharArray();
  String[] strArr = new String[charArray.length];
  HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
  format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
  format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
  format.setVCharType(HanyuPinyinVCharType.WITH_V);
  int len = charArray.length;
  for (int i = 0; i <len ; i++) {
   try {
    strArr = PinyinHelper.toHanyuPinyinStringArray(charArray[i], format);
    if (strArr == null){
     result += charArray[i];
    }else {
     result += strArr[0];
    }
   } catch (BadHanyuPinyinOutputFormatCombination e) {
    e.printStackTrace();
   }
  }
  return result;
 }
 /**
  * 获得每个汉字的首字母
  * @param args
  * @return
  */
 public static String getFirstLeter(String args) {
  String result = "";
  char[] charArray = args.toCharArray();
  String[] strArr = new String[charArray.length];
  HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
  format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
  format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
  format.setVCharType(HanyuPinyinVCharType.WITH_V);
  int len = charArray.length;
  for (int i = 0; i <len ; i++) {
   try {
    strArr = PinyinHelper.toHanyuPinyinStringArray(charArray[i], format);
    if (strArr == null){
     result += charArray[i];
    }else {
     result += strArr[0].substring(0,1);
    }
   } catch (BadHanyuPinyinOutputFormatCombination e) {
    e.printStackTrace();
   }
  }
  return result;
 }
 public static void main(String[] args) {
	 //piccode = piccode.toLowerCase();//大写字母的话都转换为小写
		//piccode = piccode.toUpperCase();//小写字母转为大写
  System.out.println("getAllLeter==" + getAllLeter("浙江省").toUpperCase());
  System.out.println("getFirstLeter==" + getFirstLeter("北京市").toUpperCase());
 }
}
 

重要的一点是需要架包支持的哈 我也上传了架包 提供下载

架包下载https://download.csdn.net/download/tanqingfu1/12031855

posted @ 2022-08-04 19:13  码奴生来只知道前进~  阅读(32)  评论(0编辑  收藏  举报