`
tuoxie007
  • 浏览: 163065 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

利用Java开源库把汉字转拼音

    博客分类:
  • Java
阅读更多

最近做的项目,因为下拉框中的项目太多,需要有个过滤的方法。我想的是键入汉语拼音首字母即时过滤下拉内容。

在网上找了好一会,发现了有个专门用来将中文转换成汉语拼音的Java的开源库,Pinyin4j,

下载地址:pinyin4j-2.5.0.zip

基本用法,如下示例

/**
 * 汉字转换位汉语拼音,英文字符不变
 * @author xuke
 *
 */
public class Cn2Spell {
 
    /**
    * 汉字转换位汉语拼音首字母,英文字符不变
    * @param chines 汉字
    * @return 拼音
    */
    public static String converterToFirstSpell(String chines){    	 
        String pinyinName = "";
        char[] nameChar = chines.toCharArray();
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        for (int i = 0; i < nameChar.length; i++) {
            if (nameChar[i] > 128) {
                try {
                    pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0);
                } catch (BadHanyuPinyinOutputFormatCombination e) {
                    e.printStackTrace();
                }
            }else{
            	pinyinName += nameChar[i];
            }
        }
        return pinyinName;
    }
 
    /**
    * 汉字转换位汉语拼音,英文字符不变
    * @param chines 汉字
    * @return 拼音
    */
    public static String converterToSpell(String chines){    	 
        String pinyinName = "";
        char[] nameChar = chines.toCharArray();
        HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
        defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
        defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
        for (int i = 0; i < nameChar.length; i++) {
            if (nameChar[i] > 128) {
                try {
                    pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0];
                } catch (BadHanyuPinyinOutputFormatCombination e) {
                    e.printStackTrace();
                }
            }else{
            	pinyinName += nameChar[i];
            }
        }
        return pinyinName;
    }
    
    public static void main(String[] args) {
		System.out.println(converterToFirstSpell("欢迎来到最棒的Java中文社区"));
	}
}

 以上一个是完全转换成汉语拼音的,另一个是只转换首字母的,遇到ASCII字符都不转换,保留。

15
2
分享到:
评论
5 楼 tanliwei 2015-07-27  
Mr-su 写道
行业(xingye),why?

行是个多音字。
String[] tmp_pinyin_result = PinyinHelper.toHanyuPinyinStringArray
                    (nameChar[i], defaultFormat)

tmp_pinyin_result 包含该字对应的所有拼音,遍历一边就可以了。
4 楼 Mr-su 2014-02-25  
行业(xingye),why?
3 楼 leishengwei 2011-05-13  
能不能把拼音转换成汉字啊!!
2 楼 q543232022 2010-12-27  
很好很强大。
1 楼 ganky 2010-06-26  
很强大,不知道有没有其他语言的4J

相关推荐

    java汉字转拼音,android汉字转拼音,汉字转拼音首字母,汉字转ASCII

    在Java中,可以利用开源库`Pinyin4j`来实现这一功能。`Pinyin4j`是一个强大的Java库,能够将汉字转换为汉语拼音,并支持多音字和声调。以下是一个简单的使用示例: ```java import ...

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

    在Java编程语言中,汉字转拼音是一项常见的需求,特别是在处理中文数据、搜索引擎优化或文本处理等领域。本篇文章将深入探讨如何使用Java实现汉字转拼音的功能,包括获取汉字的全拼和首字母。 首先,我们需要理解...

    java汉字转拼音

    这个场景中提到的“java汉字转拼音”是指利用Java实现将汉字转换为对应的拼音表示,通常包括全拼(每个汉字转换为完整的拼音)和首字母(每个汉字转换为其首字母,用于快速检索)。提供的jar包表明,它包含了一个...

    Java汉字转换拼音

    首先,Java的标准库并没有直接提供汉字转拼音的功能,但是我们可以利用第三方库来解决这个问题。一个常用的库是`pinyin4j`,这是一个轻量级的Java库,专门用于处理汉字和拼音之间的转换。安装`pinyin4j`可以通过...

    表格汉字转拼音_汉字转拼音_

    6. **编程实现**:实现汉字转拼音的编程语言多样,如C++、Python、Java等,关键在于如何高效地访问和使用拼音库。Python有`pypinyin`这样的库,可以直接完成汉字转拼音;而在C++中,可能需要自建或引用开源库,如...

    JAVA 汉字转换拼音

    总的来说,Java中的汉字转拼音通过pinyin4j库变得非常简单,只需要正确引入库并编写一些辅助方法,就可以轻松地在程序中实现汉字与拼音之间的转换。这在处理中文数据时非常有用,能够帮助开发出更加适应中国用户的...

    java 中文转换拼音

    Java中有一款名为“Pinyin4j”的开源库,它可以很好地处理这种转换。Pinyin4j提供了API,能够将汉字转换为汉语拼音,包括声母、韵母、声调等信息。下面我们将深入探讨这个过程: 1. **Pinyin4j库的使用**: - 首先...

    Java中文转拼音--整理

    Java中文转拼音技术是将汉字转化为其对应的汉语拼音的一种编程实现。在Java中,我们可以利用特定的库或者API来完成这个任务,这对于处理中文语音识别、搜索引擎优化、文本分析等多种场景都有重要作用。以下是对这个...

    Java实现中文转拼音.rar

    首先,Java中进行中文转拼音的关键在于找到一个合适的库或API,这个资源提供的工具可能基于开源项目如“Pinyin4j”或者自定义实现。Pinyin4j是一个广泛使用的Java库,它可以将汉字转换为汉语拼音,支持声调和不带...

    java 取汉字拼音工具包

    在JavaScript环境中,`pinyinjs-master`可能是一个开源库,专门用于处理汉字到拼音的转换。它可能包含以下功能: 1. **全拼与简拼**:工具包通常支持将汉字转换为完整的拼音(全拼)以及首字母缩写(简拼)。全拼...

    java汉字转拼音字母项目例子_可直接运行

    Java汉字转拼音字母项目是一个实用的工具,它允许开发者将汉字转换为对应的拼音表示,这对于中文处理、搜索引擎优化(SEO)以及语音合成等场景非常有帮助。本项目提供了可以直接运行的示例,使得用户能够快速理解和...

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

    3. **Pinyin4j库**:这是一个专门为Java设计的开源库,专门用于处理汉字到拼音的转换。使用Pinyin4j非常简单,只需添加对应的jar文件到项目中,然后调用其提供的API即可。 4. **Java 8及以后的版本**:从Java 8开始...

    java汉字转拼音代码+多音字词汇表

    在Java中,可以使用开源库如`Pinyin4j`或`HanyuPinyin`来实现。这些库提供了API,可以获取单个汉字或整个字符串的拼音表示。例如,对于汉字"好",会得到拼音"hǎo"。这个工具类可能包含了类似的功能,能够处理大量...

    java汉字转拼音代码+lib库

    例如,`Pinyin4j`是一个流行的开源Java库,它支持汉字到拼音的转换,并且提供多种输出格式,如全拼、简拼、声母、韵母等。使用`Pinyin4j`时,我们首先需要在项目中引入该库的依赖,然后可以通过以下方式获取汉字的...

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

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

    使用pinyin4j的Java库进行汉字转拼音

    pinyin4j是一个开源的Java库,它提供了汉字和拼音之间的转换功能,包括将汉字字符串转换为全拼、提取每个汉字的首字母,以及将字符串转换成ASCII码等。这个库是基于java平台实现的,用户可以通过导入相关的jar包来...

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

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

    [pinyin4j]java版汉字转换拼音大小写

    `pinyin4j`是一款功能强大的开源库,能够帮助开发者轻松地将中文字符转换成相应的拼音形式。这对于处理中文数据的应用非常有用,例如在搜索引擎、中文输入法或语音识别系统中。 #### pinyin4j简介 `pinyin4j`由...

Global site tag (gtag.js) - Google Analytics