中文转英文取首字母

1.需要依赖的jar包

<dependency>
	<groupId>com.belerweb</groupId>
	<artifactId>pinyin4j</artifactId>
	<version>2.5.0</version>
</dependency>

2.代码块

public class AlphabetUtil {

	/**
	 * 方法描述: [获取字符首字母返回大写字母.]</br>
	 * 初始作者: bk_yzw<br/>
	 * 创建日期: 2018年1月9日-上午10:33:55<br/>
	 * 开始版本: 2.0.0<br/>
	 * =================================================<br/>
	 * 修改记录:<br/>
	 * 修改作者 日期 修改内容<br/>
	 * ================================================<br/>
	 *
	 * @param frist
	 * @return
	 *         String
	 */
	public static String getFirstAlphabet(char frist) {

		String str = converterToFirstSpell(frist);
		String s = str.toUpperCase();
		char first = s.charAt(0);
		return "" + first;

	}

	/**
	 * 方法描述: [中文/英文转英文.]</br>
	 * 初始作者: bk_yzw<br/>
	 * 创建日期: 2018年1月9日-上午10:18:29<br/>
	 * 开始版本: 2.0.0<br/>
	 * =================================================<br/>
	 * 修改记录:<br/>
	 * 修改作者 日期 修改内容<br/>
	 * ================================================<br/>
	 *
	 * @param chines
	 * @return
	 *         String
	 */
	public static String converterToFirstSpell(char chines) {

		String pinyinName = "";

		HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
		defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
		defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		String s = String.valueOf(chines);
		if (s.matches("[\\u4e00-\\u9fa5]")) {
			try {
				String[] mPinyinArray = PinyinHelper.toHanyuPinyinStringArray(chines, defaultFormat);
				pinyinName += mPinyinArray[0];
			} catch (BadHanyuPinyinOutputFormatCombination e) {
				e.printStackTrace();
			}
		} else {
			pinyinName += chines;
		}
		return pinyinName;
	}

}
3.测试

@Test
	public void testZm() {

		System.out.println(AlphabetUtil.getFirstAlphabet('杨'));
	}
===============》

结果:Y


没有更多推荐了,返回首页