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

获取汉语拼音

阅读更多
package com.supben.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.HanyuPinyinVCharType;
import net.sourceforge.pinyin4j.format.exception.BadHanyuPinyinOutputFormatCombination;

public class SpellUtils {

	/**
	 * 获取全部拼音
	 * 
	 * @param src
	 *            原字符串
	 * @return
	 */
	public static String getFull(String src) {

		char[] srcChar = src.toCharArray();
		String[] srcArry = new String[srcChar.length];
		HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();

		// 设置格式
		format.setCaseType(HanyuPinyinCaseType.LOWERCASE);
		format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
		format.setVCharType(HanyuPinyinVCharType.WITH_V);
		String result = "";
		try {
			for (int i = 0; i < srcChar.length; i++) {
				// 判断是否为汉字字符
				if (Character.toString(srcChar[i])
						.matches("[\\u4E00-\\u9FA5]+")) {
					srcArry = PinyinHelper.toHanyuPinyinStringArray(srcChar[i],
							format);
					result += srcArry[0];
				} else
					result += Character.toString(srcChar[i]);
			}
			return result;
		} catch (BadHanyuPinyinOutputFormatCombination e1) {
			e1.printStackTrace();
		}
		return result;
	}

	/**
	 * 获取首字母拼音
	 * 
	 * @param str
	 *            原字符串
	 * @return
	 */
	public static String getFirst(String str) {

		String result = "";
		for (int j = 0; j < str.length(); j++) {
			char word = str.charAt(j);
			String[] pinyinArray = PinyinHelper.toHanyuPinyinStringArray(word);
			if (pinyinArray != null) {
				result += pinyinArray[0].charAt(0);
			} else {
				result += word;
			}
		}
		return result;
	}
	
	

}


分享到:
评论
12 楼 whxhz 2010-11-30  
我们以前的做法,数据库有一些张表的,里面存有所有汉字(包括冷僻字)的所有读音(多音字),系统加载时读入hash表
11 楼 shashadezhu888 2010-11-22  
咋没有源码呢
10 楼 cnsuifeng 2010-11-20  
个人感觉算法设计的不是很合理  可以把所有的文字对应的拼音放在一个HashMap中  这样频繁调用的话可以保证效率
9 楼 flyingzl 2010-11-19  
ray_linn 写道
-----------直接调用系统dll就可以了


呵呵,怎么调用dll,JNI,JNA?大材小用了吧。还有,你调用谁的dll,搜狗?谷歌?腾讯?。。。。你要是说百度或者搜狗的云API我还算相信。。
8 楼 xiaobing 2010-11-19  
ray_linn 写道
-----------直接调用系统dll就可以了


不在windows下不就完了
7 楼 hsh678 2010-11-19  
哎,你用了pinyin4j,有什么好发的呢
6 楼 panshunchang 2010-11-19  
据说对多音支持不好!比如  银行  会显示 yin xing
5 楼 dolwenjian 2010-11-19  
.........

大哥 你用的工具包 也发发撒。。。
这样代码 我们看了也么用。。。。。。
4 楼 hyj1254 2010-11-19  
我是来看PinyinHelper.toHanyuPinyinStringArray的
3 楼 ray_linn 2010-11-18  
-----------直接调用系统dll就可以了
2 楼 JetMah 2010-11-18  
用pinyin4j
1 楼 panshunchang 2010-11-18  
jar包提供一些,谢谢

相关推荐

    汉语拼音数据集以及工具

    汉语拼音是中文学习和处理的重要基础,特别是在计算机处理中文时,拼音数据集和相关工具扮演着不可或缺的角色。这个数据集及工具集旨在提供一个高效、准确的资源,用于获取汉字对应的拼音信息,适用于多种应用场景,...

    调用汉语拼音表的类(全网络最全的带声调的拼音表)

    本文将详细解析标题“调用汉语拼音表的类(全网络最全的带声调的拼音表)”以及描述中提到的知识点,并结合提供的文件“调用汉语拼音表的类.cs”和“汉语拼音表.txt”,探讨如何实现汉字与拼音的高效转换。...

    VB获取汉字拼音的一个模块实例.rar

    VB获取汉字拼音的一个模块实例,用本模块可以获取汉语拼音的声母(全部大写)、或汉语拼音(全部小写)以及单个汉字的汉语拼音。模块说明:  Tips: GetAllPy(汉字句或者词组) 用来获得汉语拼音的声母(全部大写) ...

    短语汉语拼音数据集以及工具

    标题中的“短语汉语拼音数据集以及工具”指的是一个专门针对汉语短语的拼音资源库,它包含了大量汉语短语的拼音数据,并提供了一套工具,便于开发者在Python环境中使用这些数据。这个数据集和工具的目的是为了方便...

    获取汉字汉语拼音首字母

    标题"获取汉字汉语拼音首字母"所指的技术主要是对汉字进行处理,提取其对应的拼音首字母,用于快速索引和排序。例如,在通讯录应用中,用户可能通过输入姓名的拼音首字母来查找联系人,这就需要程序能准确地将汉字...

    IOS应用源码之获取汉字汉语拼音首字母.zip

    这个“IOS应用源码之获取汉字汉语拼音首字母”的压缩包提供了一个实现这一功能的示例代码。下面我们将深入探讨相关的知识点。 首先,我们要了解汉字与汉语拼音之间的转换。在中文环境中,每个汉字都有对应的拼音...

    汉语拼音的算法汉语拼音的算法

    汉语拼音是中文与拉丁字母之间的桥梁,主要用于教育、输入法以及搜索引擎等场景。在VB(Visual Basic)编程环境中实现汉语拼音算法,可以帮助开发者处理中文字符并进行相关操作。本篇文章将深入探讨VB环境下汉语拼音...

    实用汉语拼音转换

    【实用汉语拼音转换】是一个专注于将汉字转换为拼音的软件工具,主要服务于那些需要快速准确地获取汉字拼音信息的用户。这个工具可能包含了多种功能,如简体字和繁体字的拼音转换、多音字的正确发音选择、以及可能...

    JAVA 获取字符串中的汉语拼音

    里面包含 * 将字符串中的中文转化为拼音,其他字符不变 * 获取汉字串拼音首字母,英文字符不变 * 获取汉字串拼音,英文字符不变 等不同的方法工具

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

    "sqlserver获取汉字的汉语拼音首字母支持多音字"这个主题就是针对这一需求的具体解决方案。下面将详细介绍这个知识点及其相关技术。 首先,SQL Server本身并不直接支持汉字转拼音的功能,因此需要借助额外的函数...

    C#计算汉语拼音码C#计算汉语拼音码

    根据提供的标题、描述以及部分代码内容,我们可以了解到这篇文章主要探讨的是如何使用C#语言来实现汉字到汉语拼音的转换。接下来,我们将详细解释这一过程及其相关的技术知识点。 ### C#计算汉语拼音码 #### 1. ...

    获取汉字汉语拼音首字母,UITableView中文也可以加index了pinyin.zipIOS应用例子源码下载

    获取汉字汉语拼音首字母,UITableView中文也可以加index了pinyin.zipIOS应用例子源码下载获取汉字汉语拼音首字母,UITableView中文也可以加index了pinyin.zipIOS应用例子源码下载 1.适合学生学习研究参考 2.适合个人...

    中文转汉语拼音1

    在IT领域,中文转汉语拼音是一项重要的技术,尤其在自然语言处理、语音识别、搜索引擎优化等领域有着广泛应用。本文将深入探讨“中文转汉语拼音1”这一应用的核心知识点,包括汉语拼音的基本概念、转换原理以及相关...

    .net vb 中文转成全拼汉语拼音源代码

    在处理中文数据时,有时我们需要将中文汉字转换为全拼的汉语拼音,这在生成URL、关键词分析、搜索引擎优化(SEO)等方面非常有用。本文将详细讨论如何在VB.NET中实现这个功能,并提供一个可运行的源代码示例。 首先...

    根据汉字获取拼音,并能做比较

    汉字转拼音是将汉字转换为其对应的汉语拼音的过程,这是中文信息处理的基础之一。在Python中,有一个名为`pypinyin`的库可以实现这个功能。`pypinyin`库支持简体和繁体汉字的转换,能够输出各种拼音格式,包括普通...

    PHP在线汉语拼音转换

    首先,我们要理解汉语拼音是中文字符的一种罗马化表示方式,它为每个多音字提供了唯一的发音表示。在PHP中实现汉字到拼音的转换,通常需要借助于一些预处理库或服务,如Pinyin4php、Overtrue\Pinyin等。这些库能够...

    IOS应用源码Demo-获取汉字汉语拼音首字母-毕设学习.zip

    在iOS应用开发中,有时我们需要实现一种功能,即获取汉字的汉语拼音首字母,以便为UITableView添加索引或进行其他拼音相关的操作。标题中的“IOS应用源码Demo-获取汉字汉语拼音首字母-毕设学习.zip”正是这样一个...

    MySQL函数实现获取汉字拼音首字母

    使用MySQL函数,实现获取汉字拼音首字母。在SQL语句中传入汉字返回对应的首字母

    VFP获取汉字简拼(汉语拼音首字母)程序

    等拼音的边界来处理,后来我发现有大部分汉字都返回不了,或返回不正确(如“诤”、“诃”、“陧”等等均返回A); 本示例解决了这一问题,经过将所有汉字ASCII码进行详细分析、研究最终找到有3008个汉字为非标准,...

    Java名字获取拼音

    它支持汉语拼音的多种格式,包括全拼、简拼、声调以及无声调形式。在Java项目中,我们可以直接引入pinyin4j库,通过简单的API调用来获取汉字的拼音。 首先,你需要在项目中引入pinyin4j库。如果你使用Maven,可以在...

Global site tag (gtag.js) - Google Analytics