zoukankan      html  css  js  c++  java
  • 汉字转拼音工具

    import java.util.Locale;
    
    import org.apache.commons.lang3.StringUtils;
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import com.github.stuxuhai.jpinyin.PinyinException;
    import com.github.stuxuhai.jpinyin.PinyinFormat;
    import com.github.stuxuhai.jpinyin.PinyinHelper;
    
    /**
     * 汉子转拼音
     * 
     * @author: Nemo
     */
    public class JPinyinUtils {
    
        private static final Logger log = LoggerFactory.getLogger(JPinyinUtils.class);
    
        private final static String PINYIN_SEPARATOR = ",";
    
        /**
         * @Description: 将中文转换为拼音(每个汉子的拼音逗号隔开):微迈->wei,mai
         * @param str
         * @return
         */
        public static String convertToPY(String str) {
            if (StringUtil.isEmpty(str)) {
                return str;
            }
            try {
                return PinyinHelper.convertToPinyinString(str, PINYIN_SEPARATOR, PinyinFormat.WITHOUT_TONE);
            } catch (PinyinException e) {
                log.error("拼音转换错", e);
            }
            return str;
        }
    
        /**
         * 转换为简拼大写,中间用逗号隔开:微迈->W,M
         *
         * @param str
         * @return
         */
        public static String covertToJP(String str) {
            if (StringUtil.isEmpty(str)) {
                return str;
            }
            try {
                String jp = PinyinHelper.getShortPinyin(str);
                if (StringUtils.isNotBlank(jp)) {
                    jp = StringUtil.insertSeparator(jp, PINYIN_SEPARATOR);
                }
                return jp.toUpperCase(Locale.getDefault());
            } catch (PinyinException e) {
                log.error("拼音转换错", e);
            }
            return str;
        }
    
        /**
         * 转换为简拼大写,中间用逗号隔开:微迈->W,M
         *
         * @param str
         * @return
         */
        public static String covertToJPWithNonSeparator(String str) {
            if (StringUtil.isEmpty(str)) {
                return str;
            }
            try {
                String jp = PinyinHelper.getShortPinyin(str);
                return jp.toUpperCase(Locale.getDefault());
            } catch (PinyinException e) {
                log.error("拼音转换错", e);
            }
            return str;
        }
    
        /**
         * 将中文转换为拼音:微迈->微迈
         *
         * @param str
         * @return
         */
        public static String covertToPinYin(String str) {
            if (StringUtil.isEmpty(str)) {
                return str;
            }
            try {
                return PinyinHelper.convertToPinyinString(str, "", PinyinFormat.WITHOUT_TONE);
            } catch (PinyinException e) {
                log.error("拼音转换错", e);
            }
            return str;
        }

    maven 依赖

            <dependency>
                <groupId>com.github.stuxuhai</groupId>
                <artifactId>jpinyin</artifactId>
                <version>1.1.8</version>
            </dependency>    
  • 相关阅读:
    Daemon Tools手工完全卸载方案
    不要轻易删除/windows/install下文件
    Dumpbin命令的使用
    v4l2 视频捕获
    2瓶4两酒,1个1.5两的酒杯
    n个平面分空间最多可分成多少份
    &#65279导致页面顶部空白一行解决方法
    Base64编码原理分析
    浏览器中“JavaScript解析器”工作原理
    IList转化为DataSet,解决了System.nullable()的问题
  • 原文地址:https://www.cnblogs.com/zhangrongfei/p/14921610.html
Copyright © 2011-2022 走看看