The processing of pinyin in java.

The processing of pinyin in java. For example: two strings are sorted by pinyin (sorted by name in the WeChat friend list), and the first letter of Chinese is obtained (letters and numbers return to the original).

    package httpreq.guide;

    import net.sourceforge.pinyin4j.PinyinHelper;

    /**@author  作者yangjing: 字符串 拼音
     * @date 创建时间:2017-2-18 下午4:07:27 
     */
    public class PinYin {

        /**
        * @Description:两个字符串按汉语拼音排序规则
        * @return int    返回类型  
        * @author yangjing  
        * @date 2017-2-18 下午4:51:45
         */
        public int getSort(String s1,String s2){
            char[] ss1=s1.toCharArray();
            char[] ss2=s2.toCharArray();
            for (int i = 0; i < ss1.length && i < ss2.length; i++) {
                String sss1=pinyin(ss1[i]);
                String sss2=pinyin(ss2[i]);
                if(sss1.compareTo(sss2)>0){
                    return 1;
                }else if(sss1.compareTo(sss2)<0){
                    return -1;
                }
            }
            //说明前面全部相同,字符串短的小
            if(s1.length()>s2.length()){
                return 1;
            }else if(s1.length()<s2.length()){
                return -1;
            }
            return 0;
        }

        /**
        * @Description: 提取首字母
        * @return String    返回类型  
        * @author yangjing  
        * @date 2017-2-18 下午4:17:45
         */
        public String fristChar(String str){
            char[] strs=str.toCharArray();
            String s=pinyin(strs[0]);
            String fristOne=s.substring(0, 1);
            String fristset=fristOne.toUpperCase();
            return fristset;
        }

        /**
        * @Description: 字符的拼音,多音字符就获取第一个,字母的就返回null
        * @return String    返回类型  
        * @author yangjing  
        * @date 2017-2-18 下午4:27:21
         */
        public String pinyin(char c){
            String[] pinyins=PinyinHelper.toHanyuPinyinStringArray(c);
            if(pinyins==null){
                return String.valueOf(c);
            }
            return pinyins[0];
        }

    }

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=325835927&siteId=291194637