zoukankan      html  css  js  c++  java
  • pinyin4j 用法简介

    public class Chinese2PY {
    
        public static void main(String[] args) {
    
            Hanyu hanyu = new Hanyu();
            // 中英文混合的一段文字
            String str = "荆溪白石出,Hello: 天寒红叶稀。Android 山路元无雨,What's up?   空翠湿人衣。崂山";
            String strPinyin = hanyu.getStringPinYin(str);
            System.out.println(strPinyin);
    
            // String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray('单');
            // for (int i = 0; i < pinyinArray.length; ++i) {
            // System.out.println(pinyinArray[i]);
            // }
        }
    }
    
    class Hanyu {
        private HanyuPinyinOutputFormat format = null;
        private String[] pinyin;
    
        public Hanyu() {
            format = new HanyuPinyinOutputFormat();
            format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
            format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
            // format.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);
            pinyin = null;
        }
    
        // 转换单个字符
        public String getCharacterPinYin(char c) {
            try {
                pinyin = PinyinHelper.toHanyuPinyinStringArray(c, format);
            } catch (BadHanyuPinyinOutputFormatCombination e) {
                e.printStackTrace();
            }
            // 如果c不是汉字,toHanyuPinyinStringArray会返回null
            if (pinyin == null)
                return null;
            // 只取一个发音,如果是多音字,仅取第一个发音
            return pinyin[0];
        }
    
        // 转换一个字符串
        public String getStringPinYin(String str) {
            StringBuilder sb = new StringBuilder();
            String tempPinyin = null;
            for (int i = 0; i < str.length(); ++i) {
                tempPinyin = getCharacterPinYin(str.charAt(i));
                if (tempPinyin == null) {
                    // 如果str.charAt(i)非汉字,则保持原样
                    sb.append(str.charAt(i));
                } else {
                    sb.append(tempPinyin);
                }
            }
            return sb.toString();
        }
    }
  • 相关阅读:
    Saltstack module gem 详解
    Saltstack module freezer 详解
    Saltstack module firewalld 详解
    Saltstack module file 详解
    Saltstack module event 详解
    Saltstack module etcd 详解
    Saltstack module environ 详解
    Saltstack module drbd 详解
    Saltstack module dnsutil 详解
    获取主页_剥离百度
  • 原文地址:https://www.cnblogs.com/xuhj/p/4224255.html
Copyright © 2011-2022 走看看