终结者:借助pinyin4j相关jar包提取汉字的首字母

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 Test {

    /**
	 * 提取汉字的首字母,如果里面含有费中文字符则忽略之;如果全为非中文则返回""。
	 * @param caseType 当为1时获取的首字母为小写,否则为大写。
	 * @author 高焕杰
	 */
    public static String getPinYinHeadChar(String zn_str, int caseType) {
        if(zn_str != null && !zn_str.trim().equalsIgnoreCase("")) {
            char[] strChar = zn_str.toCharArray();
            // 汉语拼音格式输出类
            HanyuPinyinOutputFormat hanYuPinOutputFormat = new HanyuPinyinOutputFormat();
            // 输出设置,大小写,音标方式等
            if(1 == caseType) {
                hanYuPinOutputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
            } else {
                hanYuPinOutputFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
            }
            hanYuPinOutputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
            hanYuPinOutputFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
            StringBuffer pyStringBuffer = new StringBuffer();
            for(int i=0; i<strChar.length; i++) {
                char c = strChar[i];
                char pyc = strChar[i];
                if(String.valueOf(c).matches("[\\u4E00-\\u9FA5]+")) {//是中文或者a-z或者A-Z转换拼音
                    try {
                        String[] pyStirngArray = PinyinHelper.toHanyuPinyinStringArray(strChar[i], hanYuPinOutputFormat);
                        if(null != pyStirngArray && pyStirngArray[0]!=null) {
                            pyc = pyStirngArray[0].charAt(0);
                            pyStringBuffer.append(pyc);
                        }
                    } catch(BadHanyuPinyinOutputFormatCombination e) {
                        e.printStackTrace();
                    }
                }
            }
            return pyStringBuffer.toString();
        }
        return null;
    }

	public static void main(String[] args) {
        String cnStr = "刘菲菲";
        System.out.println(getPinYinHeadChar(cnStr, 1)); //输出lff
		System.out.println(getPinYinHeadChar(cnStr, 2)); //输出LFF
	}
}

0分下载相关jar包

时间: 2024-12-19 05:58:56

终结者:借助pinyin4j相关jar包提取汉字的首字母的相关文章

excel提取汉字拼音首字母

本文转载:http://jingyan.baidu.com/article/63acb44adca44461fcc17e85.html 利用Excel表格中的宏,轻松提取首字母 方法/步骤 1.启动Excel 2003(其它版本请仿照操作),打开相应的工作表: 2.执行"工具→宏→Visual Basic编辑器"命令(或者直接按"Alt+F11"组合键),进入Visual Basic编辑状态: 3.执行"插入→模块"命令,插入一个新模块.再双击插

C# 使用微软的Visual Studio International Pack 类库提取汉字拼音首字母

代码参考该文http://www.cnblogs.com/yazdao/archive/2011/06/04/2072488.html VS2015版本 1.使用Nuget 安装 "SimplifiedChinesePinYinConversion" 2.代码: using Microsoft.International.Converters.PinYinConverter; using System; using System.Collections.Generic; using S

java框架-----spring框架------在自己的项目中如何用maven管理spring相关jar包

1.文章内容概述: spring框架是支持maven的,因为spring框架的所有模块打包而成的jar包以及spring所依赖的其他jar包都被存放了一份在maven的中央仓库中,如果你的项目使用maven进行管理,那么你就可以在你的项目中通过maven来引入你的项目所依赖的spring相关的jar包或其他依赖库. 2.spring框架中maven相关的东西: 概述:使用maven管理spring相关的jar包,需要在pom.xml中配置groupId.artifactId之类的东西,只有在po

Spring 相关jar包详细介绍

文章转自:http://blog.csdn.net/farawayhome/article/details/6623946 aspectj目录下是在Spring框架下使用aspectj的源代码和测试程序文件. Aspectj是java最早的提供AOP的应用框架. dist 目录下是Spring 的发布包,关于发布包下面会详细进行说明. docs 目录下是相关的文档,包括有Spring api 的javadoc.reference 参考指南.Spring的标签库使用文件及Spring MVC 的M

Hibernate 相关jar包 说明

hibernate相关jar包的详细介绍如下: 1.Hibernate3.jar  (Hibernate的核心库,必须使用的jar) 2.cglib-asm.jar    (cglib库,Hibernate用它来实现PO字节码的动态生成,非常核心的库,必须使用的jar) 3.dom4j.jar  (dom4j是一个Java的 XML API,类似于jdom,用来读写xml文件,这是必须的jar,Hibernate用它来读写配置文件,必须使用的jar) 4.odmg.jar          (o

Java 解析epub格式电子书,helloWorld程序,附带源程序和相关jar包

一.epub格式电子书 相关材料和源码均在链接中可以下载:http://pan.baidu.com/s/1bnm8YXT 包括 1.JAVA项目工程test_epub,里面包括了jar包和一本epub电子书myBook.epub 2.epub相关jar包 3.电子书myBook.epub epub格式这里就不仔细描述了,这里强调一点,epub格式是压缩格式,只需将后缀改为.zip或.rar,解压即可看到里面的文件内容. 二.JAVA解析.epub格式电子书,具体实现代码如下.写了一个简单hell

获取整条字符串所有汉字拼音首字母的函数

不错的函数 拿来用用 function pinyin_long($zh){ //获取整条字符串所有汉字拼音首字母 $zh=gainChinese($zh,100);//提取中文 $ret = ""; $s1 = iconv("UTF-8","gb2312", $zh); $s2 = iconv("gb2312","UTF-8", $s1); if($s2 == $zh){$zh = $s1;} for($i

java获取汉字拼音首字母 --转载

在项目中要更能根据某些查询条件(比如姓名)的首字母作为条件进行查询,比如查一个叫"李晓明"的人,可以输入'lxm'.写了一个工具类如下: import java.io.UnsupportedEncodingException; /** * 取得给定汉字串的首字母串,即声母串 * Title: ChineseCharToEn * @date 2004-02-19 注:只支持GB2312字符集中的汉字 */ public final class ChineseCharToEn { priv

C# 获取汉字拼音首字母

最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精   本节探讨C#获取汉字拼音首字母的方法: 代码类东西,直接上代码: /// <summary> /// 在指定的字符串列表CnStr中检索符合拼音索引字符串 /// </summary> /// <param name="CnStr">汉字字符串</param> /// <returns&