java将文字转化为拼音

很多时候我们都会需要把汉字转化成拼音,方便我们使用。举个栗子:登录场景,客户提供的是一个中文名字,要做成登录,可是用中文名字来登录总是不太好,而且很容易造成乱码的情况出现。所以我们需要把中文登录名转成英文登录名。比如:“李四”需要装成“lisi”。

一、导入相关的依赖包

    com.belerweb    pinyin4j    2.5.0

二、实现相关的转化工具类

public class Hanyu {    private HanyuPinyinOutputFormat format = null;    private String[] pinyin;    public Hanyu() {        format = new HanyuPinyinOutputFormat();        format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);        pinyin = null;    }    /**     * 将汉字转成拼音     * 

* 取首字母或全拼 * * @param hanzi 汉字字符串 * @param isFull 是否全拼 true:表示全拼 false表示:首字母 * * @return 拼音 */ private static String convertHanzi2Pinyin(String hanzi,boolean isFull){ /*** * ^[⺀-鿿]+$ 匹配所有东亚区的语言 * ^[一-鿿]+$ 匹配简体和繁体 * ^[一-龥]+$ 匹配简体 */ String regExp="^[一-鿿]+#34;; StringBuffer sb=new StringBuffer(); if(hanzi==null||"".equals(hanzi.trim())){ return ""; } String pinyin=""; for(int i=0;i * 根据字符和正则表达式进行匹配 * * @param str 源字符串 * @param regex 正则表达式 * * @return true:匹配成功 false:匹配失败 */ private static boolean match(String str,String regex){ Pattern pattern=Pattern.compile(regex); Matcher matcher=pattern.matcher(str); return matcher.find(); } //转换单个字符 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(); } /** * 获取汉字首字母或全拼小写字母 * * @param chinese 汉字 * @param isFull 是否全拼 true:表示全拼 false表示:首字母 * * @return 全拼或者首字母小写字符窜 */ public static String getLowerCase(String chinese,boolean isFull){ return convertHanzi2Pinyin(chinese,isFull).toLowerCase(); }}

发表评论
留言与评论(共有 0 条评论) “”
   
验证码:

相关文章

推荐文章