pinyin4j使用

首先需要pinyin4j的jar包支持;jar包已上传至附件内

方法一:把汉字转换为拼音;例如:编程转换后则为biancheng
    
/**
     * 将汉字转换为全拼
     * @param src 你的需要转换的汉字
     * @param isUPPERCASE 是否转换为大写的拼音; true:转换为大写;false:转换为小写
     * @return res 转换后的结果
     */
	public static String getPingYin(String src, boolean isUPPERCASE) {

		char[] charArray = null;

		charArray = src.toCharArray();

		String[] strArray = new String[charArray.length];

		HanyuPinyinOutputFormat hanyuPinyinOutputFormat = new HanyuPinyinOutputFormat();
		if (isUPPERCASE) {
			// 大写设置
			hanyuPinyinOutputFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
		} else {
			// 小写设置
			hanyuPinyinOutputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
		}

		hanyuPinyinOutputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		hanyuPinyinOutputFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
		
		String res = "";
		int t0 = charArray.length;

		try {
			for (int i = 0; i < t0; i++) {
				// 判断是否为汉字字符
				if (java.lang.Character.toString(charArray[i]).matches("[\\u4E00-\\u9FA5]+")) {
					strArray = PinyinHelper.toHanyuPinyinStringArray(charArray[i],hanyuPinyinOutputFormat);
					res += strArray[0];
				} else {
					res += java.lang.Character.toString(charArray[i]);
				}
			}
			return res;
		} catch (BadHanyuPinyinOutputFormatCombination e1) {
			e1.printStackTrace();
		}
		return res;
	}

方法二:获得汉字的拼音的首字母;例如:中国深圳---->zgsz
/**
	 * 返回中文的首字母
	 * @param str 你需要转换的汉字
	 * @return res 转换后的结果
	 */
	public static String getPinYinHeadChar(String str) {

		String res = "";
		for (int j = 0; j < str.length(); j++) {
			
			char word = str.charAt(j);
			String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);

			if (pinyinArray != null) {
				res += pinyinArray[0].charAt(0);
			} else {
				res += word;
			}
		}
		return res;
	}



猜你喜欢

转载自zhaoxiaoboblogs.iteye.com/blog/2110316