zoukankan      html  css  js  c++  java
  • ChineseUtils

    这里获得汉字的拼音使用了pinyin4j这个插件,因为多音字的原因效果并不理想

     1 /**
     2      * 获得汉字拼音
     3      * @param name
     4      * @return
     5      */
     6     @SuppressWarnings("deprecation")
     7     public static String getPiYin(String src) {  
     8         HanyuPinyinOutputFormat outFormat = new HanyuPinyinOutputFormat();  
     9         outFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);  
    10         outFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);  
    11         outFormat.setVCharType(HanyuPinyinVCharType.WITH_V);  
    12         try {  
    13             return PinyinHelper.toHanyuPinyinString(src, outFormat, "");  
    14         } catch (BadHanyuPinyinOutputFormatCombination e1) {  
    15             e1.printStackTrace();  
    16             return src;  
    17         }  
    18     } 
    19     
    20     /**
    21      * 获得拼音首字母
    22      * @param name
    23      * @return
    24      */
    25     public static String getPinYinFirstLetter(String name){
    26         char[] str=StringUtils.defaultIfEmpty(name, "").toCharArray();
    27         String shouZiMu="";
    28         for ( char string : str) {
    29             shouZiMu+=getPiYin(String.valueOf(string)).charAt(0);
    30         }
    31         return shouZiMu;
    32     }
    33     
    34     public boolean isChinese(char c) {    
    35        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);    
    36        if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS    
    37                || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS    
    38                || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A    
    39                || ub == Character.UnicodeBlock.GENERAL_PUNCTUATION    
    40                || ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION    
    41                || ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {    
    42            return true;    
    43        }    
    44        return false; 
    45     }
    46     
    47     public boolean isChinese(String s) {    
    48         return s.matches("[\u4E00-\u9FA5]+");
    49     }
  • 相关阅读:
    摘录一篇 这两天对SSO的认识
    获取文本框中的行
    在窗体数据源中过滤记录
    linux下访问windows的共享
    使用Form作Lookup其窗体位置设置
    窗体数据源连接技巧
    给动态创建的控件指定事件
    Object的使用技巧
    显示进度条SysOperationProgress
    如何解决下载的CHM文件无法显示网页问题
  • 原文地址:https://www.cnblogs.com/sun-space/p/5562309.html
Copyright © 2011-2022 走看看