`
啸笑天
  • 浏览: 3462195 次
  • 性别: Icon_minigender_1
  • 来自: China
社区版块
存档分类
最新评论

java的中文转拼音组件---pinyin4j的使用

阅读更多

pinyin4j是一个功能强悍的汉语拼音工具包,主要是从汉语获取各种格式和需求的拼音,功能强悍,下面看看如何使用pinyin4j。下载地址:http://pinyin4j.sourceforge.net/

 

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; 

import java.io.UnsupportedEncodingException; 

/** 
* 拼音工具 
* 
* @author leizhimin 2009-7-15 15:26:21 
*/ 
public class PinyinToolkit { 

        /** 
         * 获取汉字串拼音首字母,英文字符不变 
         * 
         * @param chinese 汉字串 
         * @return 汉语拼音首字母 
         */ 
        public static String cn2FirstSpell(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[] _t = PinyinHelper.toHanyuPinyinStringArray(arr[i], defaultFormat); 
                                        if (_t != null) { 
                                                pybf.append(_t[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 cn2Spell(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(); 
        } 

        public static void main(String[] args) throws UnsupportedEncodingException { 
                String x = "嘅囧誰說壞學生來勼髮視頻裆児"; 
                System.out.println(cn2FirstSpell(x)); 
                System.out.println(cn2Spell(x)); 
        } 
}

 运行结果:

 

kjsshxsljfspde 
kaijiongshuishuohuaixueshenglaijiufashipindanger 

Process finished with exit code 0

 在某些系统上可能有字符集的问题,需要做预处理。

 

感谢:http://lavasoft.blog.51cto.com/62575/178320

分享到:
评论

相关推荐

    Java 中文排序 使用pinyin4j组件

    这里我们将详细介绍如何使用`pinyin4j`这个Java库来实现中文字符串的拼音排序。 `pinyin4j`是一个强大的Java库,它提供了将汉字转换为拼音的功能,这使得我们可以基于每个汉字的拼音首字母来进行排序。以下是如何...

    java汉字转拼音字头-能运行的实例代码

    为了实现从汉字到拼音的转换,这里假设使用了第三方库`Pinyin4j`。实际应用中可能需要根据项目需求选择合适的库或方法。 ```java // 导入必要的库 import net.sourceforge.pinyin4j.PinyinHelper; import ...

    java源码:中文转拼音库 pinyin4j.zip

    《Java源码解析:pinyin4j中文转拼音库》 在Java开发中,处理中文字符,特别是将中文转换为拼音的需求广泛存在。pinyin4j是一个经典的Java库,专门用于实现这一功能。这个库简单易用,适用于各种场景,如搜索引擎...

    拼音分词 Pinyin4j+pinyinAnalyzer+lucene-analyzers

    Pinyin4j是一个Java库,主要用于将汉字转换为拼音,这对于进行基于拼音的搜索和排序非常有用。pinyinAnalyzer是Lucene的一个分析器,它利用了Pinyin4j的功能,能够将输入的中文文本分词并转化为拼音形式,以便于...

    Android 安卓 汉字转拼音, 联系人字母索引 pinyinHelper pinyin4j-2.5.0.jar

    `pinyin4j` 是一个开源项目,主要用于Java程序中的汉字转拼音功能。它的版本号为2.5.0,提供了全面的拼音转换支持,包括全拼、简拼、声调等。在Android开发中,由于Android系统主要基于Java,因此可以很方便地引入`...

    pinyin4的jar包

    pinyin4j是一个Java库,专门用于将汉字转换为拼音,它在处理中文字符转拼音的工作中扮演着重要角色。这个库简单易用,功能强大,适用于各种需要汉字转拼音的应用场景,例如搜索引擎优化、文本分析、自然语言处理等。...

    java汉字转拼音工具类

    总之,Java中的汉字转拼音工具类是处理中文数据的关键组件,它使得Java开发者能够更方便地在国际化环境中工作,特别是在与英文系统集成的场景下。通过了解和熟练使用这类工具,可以提升项目的可扩展性和用户体验。

    pinyin4j源码

    pinyin4j是一个流行的Java库,专门用于处理汉字转拼音的任务。它为开发者提供了一种简单且高效的方式来获取汉字的拼音表示,广泛应用于搜索引擎优化、文本分析、自然语言处理等领域。本文将通过解析pinyin4j的源码,...

    delphi12 汉字转拼音全拼及简拼 XE

    2. **第三方库**:对于更复杂的拼音转换需求,如简拼、多音字处理等,开发者可能会选择使用第三方库,如`HanLP`、`Pinyin4j`(Java)或`OpenCC`等。虽然这些库不是直接在Delphi环境下使用,但可以通过创建接口或者...

    pinyin4j.jar资源下载

    Pinyin4j库的核心功能在于其对中文字符集(Unicode)的支持,它可以将汉字转化为对应的拼音形式。这在各种应用场景中都极其有用,例如搜索关键词的标准化、中文输入法的实现、甚至是数据分析和文本处理等。通过...

    C#汉字转拼音

    Pinyin4j.Net是从Codeplex备份的资源,是一个专门为.NET平台设计的汉字转拼音库,它基于Java版的Pinyin4j进行了移植。 Pinyin4j.Net库包含了多个关键组件,例如: 1. Net.Sourceforge.Pinyin4j:这是核心的拼音...

    将汉字转换为汉语拼音java实现

    2. **ICU4J库**:国际组件库(ICU,International Components for Unicode)是一个强大的跨平台库,包含了许多与国际化相关的功能,包括汉字转拼音。在Java中,你可以通过引入ICU4J的依赖,然后使用`...

    pinyinAnalyzer4.3.1pinyin4j-2.5.0

    总之,"pinyinAnalyzer4.3.1" 和 "pinyin4j-2.5.0" 是Java开发者处理中文拼音问题的重要工具。通过深入理解和灵活运用这两个库,可以大大提高中文文本处理的效率和质量,为各种涉及中文字符的应用提供坚实的技术支撑...

    pinyin4j-2.5.0.jar附带Util工具类

    pinyin4j是一个开源项目,它的主要功能是将汉字转换为对应的汉语拼音,同时支持获取汉字的首字母,这在处理中文数据时非常有用。在2.5.0版本中,这个库提供了一种高效且易于使用的API,使得开发者能够快速集成到自己...

    汉字转拼音码和五笔码(Winform)

    这个应用程序可能使用了诸如Pinyin4j或Microsoft的Unidecode等库,这些库能够准确地将每个汉字映射到其标准拼音。 接着,五笔码转换是另一个关键功能。五笔码是一种汉字输入法,通过将汉字拆分成基本的笔画和部首,...

    delphi 汉字转拼音首字母含生僻字

    在Delphi中,实现这个功能通常需要调用特定的库或者API,比如Microsoft的Uniscribe或Google的Pinyin4j(虽然Pinyin4j是Java库,但可以通过接口调用)。 在处理生僻字时,问题会变得更加复杂。生僻字指的是那些不...

    关于汉字转拼音的实现方法.rar(简单方便实用)

    此外,实现汉字转拼音还可以考虑使用开源项目,如Pinyin4j(Java)、PyPinyin(Python)等,它们提供了丰富的功能和良好的社区支持。但如果你选择使用提供的库文件,那么你需要对C++或C#等支持DLL导入的语言有一定...

    solr_拼音分词器_pinyin4j

    pinyin4j是一个Java库,用于处理汉字和生成拼音,支持多种拼音格式,如全拼、简拼等。而pinyinAnalyzer是Solr中的一个分词器,它利用了pinyin4j库来对输入的中文文本进行拼音分析,从而实现基于拼音的搜索。 在Solr...

    elasticsearch-analysis-pinyin-1.6.0

    pinyin4j-2.5.0.jar是用于处理中文到拼音转换的第三方库,它是分析插件的核心组件。同时,还需要编辑Elasticsearch的配置文件(如elasticsearch.yml),添加或修改分析器的相关设置,以启用并配置pinyin分析器。 ...

    中文汉字转拼音服务包

    本压缩包"中文汉字转拼音服务包"提供了一个基于Java实现的解决方案,它包含了一个核心的服务组件以及相关的示例说明。 首先,让我们详细了解"中文汉字转拼音"这一概念。中文汉字转拼音是将汉字转换为其对应的汉语...

Global site tag (gtag.js) - Google Analytics