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();
    }
    }
  • 相关阅读:
    javascript线性渐变2
    javascript无缝滚动2
    javascript Object对象
    javascript无缝滚动
    javascript图片轮换2
    javascript图片轮换
    用C/C++写CGI程序
    linux shell 的 for 循环
    重磅分享:微软等数据结构+算法面试100题全部答案完整亮相
    查看linux服务器硬盘IO读写负载
  • 原文地址:https://www.cnblogs.com/duyinqiang/p/6179103.html
Copyright © 2011-2022 走看看