首页 > 编程 > Java > 正文

java中关于拼音的处理。

2019-11-08 02:48:30
字体:
来源:转载
供稿:网友

java中关于拼音的处理。列如:两个字符串按拼音排序(微信好友列表中按姓名排序),获取中文的首字母(字母和数字返回原本)。

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]; } }
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表