日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

漢字轉拼音工具類

張軍 3136 0

Java漢字轉成漢語拼音工具類,需要用到pinyin4j.jar包.

張軍博客

package zj.pinyin;

import net.sourceforge.pinyin4j.PinyinHelper;
import net.sourceforge.pinyin4j.format.HanyuPinyinCaseType;
import net.sourceforge.pinyin4j.format.HanyuPinyinOutputFormat;
import net.sourceforge.pinyin4j.format.HanyuPinyinToneType;
import net.sourceforge.pinyin4j.format.HanyuPinyinVCharType;

import org.apache.log4j.Logger;

/**
 * 漢字轉拼音工具類
 * 
 * @version 1.00 (2014.09.15)
 * @author SHNKCS 張軍 {@link  <a target=_blank href=http://www.sfpk123.com>張軍個人網站</a>&nbsp;&nbsp;&nbsp;&nbsp;<a target=_blank href=http://user.qzone.qq.com/360901061/>張軍QQ空間</a>}
 */
public class PinyinUtil {
	private transient static final Logger logger = Logger.getLogger(PinyinUtil.class);

	/**
	 * 拼音字母
	 * 
	 * @param text
	 *            原字符
	 * @author 張軍
	 * @date 2016-2-1 9:16:00
	 * @modifiyNote
	 * @version 1.0
	 * @return 拼音首字母
	 */
	public static String textToPingYin(String text) {
		try {
			char[] t1 = null;
			t1 = text.toCharArray();
			String[] t2 = new String[t1.length];
			HanyuPinyinOutputFormat t3 = new HanyuPinyinOutputFormat();
			t3.setCaseType(HanyuPinyinCaseType.LOWERCASE);
			t3.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
			t3.setVCharType(HanyuPinyinVCharType.WITH_V);
			int t0 = t1.length;
			String t4 = "";
			for (int i = 0; i < t0; i++) {
				// 判斷是否為漢字字符
				if (java.lang.Character.toString(t1[i]).matches("[\\u4E00-\\u9FA5]+")) {
					t2 = PinyinHelper.toHanyuPinyinStringArray(t1[i], t3);
					t4 += t2[0];
				} else {
					t4 += java.lang.Character.toString(t1[i]);
				}
			}
			return t4;
		} catch (Exception e) {
			logger.debug("轉換拼音出錯,返回原字符", e);
			return text;
		}
	}

	/**
	 * 拼音首字母
	 * 
	 * @param text
	 *            原字符
	 * @author 張軍
	 * @date 2016-2-1 9:16:00
	 * @modifiyNote
	 * @version 1.0
	 * @return 拼音首字母
	 */
	public static String textToPinYinHeadChar(String text) {
		try {
			String convert = "";
			for (int j = 0; j < text.length(); j++) {
				char word = text.charAt(j);
				String[] pinyinArray = null;
				if (java.lang.Character.toString(word).matches("[\\u4E00-\\u9FA5]+")) {
					pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word, new HanyuPinyinOutputFormat());
				}
				if (pinyinArray == null) {
					convert += word;
				} else {
					convert += pinyinArray[0].charAt(0);
				}
			}
			return convert;
		} catch (Exception e) {
			logger.debug("轉換拼音首字母出錯,返回原字符", e);
			return text;
		}
	}

	/**
	 * 獲取ascii碼
	 * 
	 * @param text
	 *            原字符
	 * @author 張軍
	 * @date 2016-2-1 9:16:00
	 * @modifiyNote
	 * @version 1.0
	 * @return ascii碼
	 */
	public static String getCnASCII(String cnStr) {
		StringBuffer strBuf = new StringBuffer();
		byte[] bGBK = cnStr.getBytes();
		for (int i = 0; i < bGBK.length; i++) {
			// System.out.println(Integer.toHexString(bGBK[i]&0xff));
			strBuf.append(Integer.toHexString(bGBK[i] & 0xff));
		}
		return strBuf.toString();
	}
}

pinyin4j-2.5.1.zip



更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!??!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 文化| 谢通门县| 英德市| 山丹县| 湘潭县| 丰顺县| 禄劝| 称多县| 通许县| 柳河县| 普格县| 玛沁县| 河池市| 温泉县| 鄂尔多斯市| 邻水| 宝山区| 织金县| 怀仁县| 夏邑县| 和政县| 同仁县| 九龙城区| 巴林右旗| 林州市| 宜春市| 平乐县| 岚皋县| 安岳县| 合水县| 罗平县| 宜章县| 怀远县| 太和县| 邵东县| 海淀区| 眉山市| 屯留县| 陆河县| 旬阳县| 调兵山市|