java获取汉字拼音或拼音首字母

时间:2022-12-12 14:03:19 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
Java获取汉字拼音或拼音首字母

Posted on 2012-04-18 21:58 myfavorite 阅读(1251) 评论(0) 编辑 收藏 在进行模糊查询时,经常用到使用汉字拼音或者首字母进行匹配查询。以下是获汉字拼音或者首字母java代码实现

package com;

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 net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

public class GetPinyin { /**

* 得到 全拼 *

* @param src * @return */

public static String getPingYin(String src) { char[] t1 = null; t1 = src.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); String t4 = ""; int t0 = t1.length; try {

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 (BadHanyuPinyinOutputFormatCombination e1) {


e1.printStackTrace(); }

return t4; } /**

* 得到中文首字母 *

* @param str * @return */

public static String getPinYinHeadChar(String str) {

String convert = "";

for (int j = 0; j < str.length(); j++) { char word = str.charAt(j);

String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word); if (pinyinArray != null) {

convert += pinyinArray[0].charAt(0); } else {

convert += word; } }

return convert; } /**

* 将字符串转移为ASCII *

* @param cnStr * @return */

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(); }

public static void main(String[] args) {


本文来源:https://www.wddqw.com/doc/90c15ae16294dd88d0d26b18.html