pinyin 4 j使用

2271 ワード

まずpinyin 4 jのjarパッケージのサポートが必要です.JArパッケージが添付ファイルにアップロードされました
方法1:漢字をピンインに変換する.たとえば、プログラミング変換後は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;
	}

方法2:漢字のピンインの頭文字を得る.例えば、中国深セン---->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;
	}