zoukankan      html  css  js  c++  java
  • 拼音工具类 获取汉字串拼音首字母,英文字符不变

    package com.sprucetec.tms.fee.utils;

    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;
    import org.apache.commons.lang.StringUtils;

    /**
    * 描述: 拼音工具类
    *
    * @author
    * @date 2016/8/9
    */
    public class PinYinUtils {

    /**
    * 获取汉字串拼音首字母,英文字符不变
    *
    * @param chinese 汉字串
    * @param caseType 大写 or 小写
    * @return 汉语拼音首字母
    */
    public static String getFirstSpell(String chinese, HanyuPinyinCaseType caseType) {
    if (StringUtils.isBlank(chinese)) {
    return null;
    }

    StringBuffer sb = new StringBuffer();
    char[] arr = chinese.toCharArray();

    HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
    defaultFormat.setCaseType(caseType);
    defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);

    for (int i = 0; i < arr.length; i++) {
    if (arr[i] > 128) {
    try {
    String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat);
    if (temp != null) {
    sb.append(temp[0].charAt(0));
    }
    } catch (BadHanyuPinyinOutputFormatCombination e) {
    e.printStackTrace();
    }
    } else {
    sb.append(arr[i]);
    }
    }
    return sb.toString().replaceAll("\W", "").trim();
    }
    }
  • 相关阅读:
    Webpack实现按需打包Lodash的几种方法详解
    一文带你了解babel-preset-env
    Vue-给对象新增属性(使用Vue.$set())
    vue v-slot
    Vue2.4+新增属性.sync、$attrs、$listeners
    彻底搞定Javascript事件循环
    Spring Boot 添加JSP支持【转】
    防火墙设置
    黑黑客客
    tomcat启动时设定环境变量
  • 原文地址:https://www.cnblogs.com/duyinqiang/p/6179103.html
Copyright © 2011-2022 走看看