`
123629996
  • 浏览: 295262 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

使用pinyin4j获取汉字拼音首字母或全拼

 
阅读更多

pinyin4j是一个开源项目,使用它可以很容易的获取汉字的拼音,这也是我们经常需要用到的功能:下面是一个应用,获取汉字首字母或者全拼的方法

 

package com.yjck.pinyin.util;

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.exception.BadHanyuPinyinOutputFormatCombination;

public class PinYinUtil {
	/** 
     * 获取汉字串拼音首字母,英文字符不变 
     * @param chinese 汉字串 
     * @return 汉语拼音首字母 
     */ 
    public static String getFirstSpell(String chinese) { 
            StringBuffer pybf = new StringBuffer(); 
            char[] arr = chinese.toCharArray(); 
            HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); 
            defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); 
            defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); 
            for (int i = 0; i < arr.length; i++) { 
                    if (arr[i] > 128) { 
                            try { 
                                    String[] temp = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat); 
                                    if (temp != null) { 
                                            pybf.append(temp[0].charAt(0)); 
                                    } 
                            } catch (BadHanyuPinyinOutputFormatCombination e) { 
                                    e.printStackTrace(); 
                            } 
                    } else { 
                            pybf.append(arr[i]); 
                    } 
            } 
            return pybf.toString().replaceAll("\\W", "").trim(); 
    } 

    /** 
     * 获取汉字串拼音,英文字符不变 
     * @param chinese 汉字串 
     * @return 汉语拼音 
     */ 
    public static String getFullSpell(String chinese) { 
            StringBuffer pybf = new StringBuffer(); 
            char[] arr = chinese.toCharArray(); 
            HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); 
            defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); 
            defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); 
            for (int i = 0; i < arr.length; i++) { 
                    if (arr[i] > 128) { 
                            try { 
                                    pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat)[0]); 
                            } catch (BadHanyuPinyinOutputFormatCombination e) { 
                                    e.printStackTrace(); 
                            } 
                    } else { 
                            pybf.append(arr[i]); 
                    } 
            } 
            return pybf.toString(); 
    }
}

  ok,这就完了,已经可以满足我们的日常需求了吧,源代码上传!

分享到:
评论
2 楼 唐敬原 2014-08-21  
非常感谢,很好!!!!!!!!!!
1 楼 倔强的土豆 2012-10-11  
很棒。。。

相关推荐

    获取汉字拼音首字母、全拼

    一旦获取了这些信息,就可以根据需求获取汉字的拼音首字母或全拼。 获取拼音首字母通常用于快速索引或创建缩写,例如在搜索引擎中,用户可以通过输入关键词的首字母快速找到目标信息。而获取全拼则更适用于需要完整...

    JS实现获取汉字首字母拼音、全拼音及混拼音的方法

    本文将介绍如何使用JavaScript实现获取汉字首字母拼音、全拼音以及混拼音的方法。 首先,要实现这些功能,我们需要一个能将汉字转换为拼音的JavaScript插件。在提供的示例中,使用了一个名为`ChinesePY.js`的插件,...

    oracle汉字转拼音 获得全拼、拼音首字母、拼音截取等

    oracle汉字转拼音 获得全拼、拼音首字母、拼音截取等

    java汉字转拼音(全拼和首字母)

    汉语拼音是用拉丁字母表示汉字发音的一种方式,全拼是每个汉字对应的完整拼音,而首字母则是每个汉字拼音的首个字母,通常用于制作简化的关键词索引。在Java中,我们可以利用开源库或者自定义算法来实现这个功能。 ...

    取汉字拼音或首字母的PL/SQL存储过程

    -- 提取首字母,这里假设拼音首字母在ASCII码的前26个字母内 IF ascii BETWEEN 'A' AND 'Z' THEN first_char := ascii; ELSE first_char := 'X'; -- 对于非字母字符,可以设置为特定标记 END IF; output_char...

    获取汉字拼音首字母

    在IT领域,尤其是在文本处理和信息检索中,获取汉字拼音首字母是一项常见的需求。这个功能可以帮助我们快速地对汉字进行编码,便于计算机处理和搜索。例如,在开发搜索引擎、拼音输入法或者建立汉字索引时,将汉字...

    汉字转拼音大小写全拼首字母pinyin4j-jar

    对于需要获取拼音首字母的情况,可以先获取全拼,然后取每个拼音的首字母。例如,`"北京".charAt(0)`获取“北”的字符,`pinyin.charAt(0)`获取其首字母。 在实际应用中,pinyin4j可以用来做关键词提取、拼音排序...

    汉字转拼音声母首字母 dll

    在中文处理中,拼音声母是指每个汉字拼音的开头部分,例如“汉字”转换为拼音“hàn zì”,其声母首字母为“hz”。 在标签中,“汉字转拼音”是关键功能,它是许多中文处理应用的基础,比如搜索引擎、输入法、语音...

    Unicode汉字拼音全拼、首字母Delphi查询函数(推荐使用)

    Unicode汉字拼音全拼、首字母Delphi查询函数(推荐使用) { iMode 二进制功能位说明 X X X X X X X X X X X X X X X X 3 2 1 1: 0 - 只取各个汉字声母的第一个字母; 1 - 全取 2: 0 - 遇到不能翻译的字符不...

    Oracle 汉字转全拼 拼音首字母

    --此函数默认返回汉字拼音的首字母,第二个参数不为空则返回全拼。 create or replace function f_getFirstOrFullSpell(p_cnStr In varchar2,p_sign In number default null) return varchar2 as lv_spell varchar2...

    汉字转拼音、首字母、多音字java

    总的来说,Java中的汉字转拼音、首字母获取以及多音字处理主要依赖于像`pinyin4j`这样的第三方库,它们提供了丰富的功能,使得开发者能方便地进行中文字符的拼音处理。在实际项目中,正确理解和运用这些工具,可以...

    取汉字拼音首字母的Demo

    在Android和Java开发中,有...总结来说,"取汉字拼音首字母的Demo"是一个通过Pinyin4j库实现汉字转拼音并获取首字母的例子,主要用于按拼音首字母排序数据列表。这个功能在许多需要快速查找和分类的场景中非常实用。

    SQL 汉字转拼音首字母

    4. **拼音映射**:对于每个汉字,查询一个预设的拼音表来获取其拼音首字母。这里使用了一个子查询,其中包含了部分常见的拼音首字母与汉字之间的映射关系。通过比较输入的汉字与表中的汉字,找到最小的一个拼音首...

    将汉字转为全拼或返回拼音首字母(Oracle SQL语句)

    将汉字转为全拼或返回拼音首字母(Oracle SQL语句)

    oracle汉字转换成拼音首字母、全拼等

    oracle汉字转换成拼音首字母、全拼,各种转换类型比较齐全,oracle汉字转换五笔首字母链接https://blog.csdn.net/weixin_40912627/article/details/88710064

    java获取汉字的首字母

    一个常用的库是`Pinyin4j`,它是一个用于Java的中文拼音处理库,可以方便地获取汉字的全拼和首字母。 以下是一个使用`Pinyin4j`库获取汉字首字母的基本步骤: 1. **添加依赖**: 在项目中引入`Pinyin4j`库,如果是...

    获取中文首字母与全拼pinyin4j-2.5.0.jar

    总结来说,Pinyin4j-2.5.0.jar是Java环境下处理中文拼音的强大工具,它提供了一套完善的API,使得开发者能轻松地将汉字转换为拼音,无论是首字母还是全拼,都能高效准确地完成。在实际项目中,正确集成并使用Pinyin4...

    取字 每个汉字的拼音首字母

    从给定的文件信息来看,主要讨论的是一个用于获取每个汉字拼音首字母的函数实现。这一功能在中文信息处理、中文姓名缩写生成、中文文本分析等领域有着广泛的应用。下面,我们将深入探讨这一主题,包括拼音首字母的...

    sqlserver获取汉字的汉语拼音首字母支持多音字

    在SQL Server数据库环境中,开发和处理中文数据时,有时我们需要将汉字转换为其对应的汉语拼音首字母,这在构建搜索引擎、数据分析或实现特定功能时非常有用。"sqlserver获取汉字的汉语拼音首字母支持多音字"这个...

Global site tag (gtag.js) - Google Analytics