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,这就完了,已经可以满足我们的日常需求了吧,源代码上传!
分享到:
相关推荐
一旦获取了这些信息,就可以根据需求获取汉字的拼音首字母或全拼。 获取拼音首字母通常用于快速索引或创建缩写,例如在搜索引擎中,用户可以通过输入关键词的首字母快速找到目标信息。而获取全拼则更适用于需要完整...
本文将介绍如何使用JavaScript实现获取汉字首字母拼音、全拼音以及混拼音的方法。 首先,要实现这些功能,我们需要一个能将汉字转换为拼音的JavaScript插件。在提供的示例中,使用了一个名为`ChinesePY.js`的插件,...
oracle汉字转拼音 获得全拼、拼音首字母、拼音截取等
汉语拼音是用拉丁字母表示汉字发音的一种方式,全拼是每个汉字对应的完整拼音,而首字母则是每个汉字拼音的首个字母,通常用于制作简化的关键词索引。在Java中,我们可以利用开源库或者自定义算法来实现这个功能。 ...
-- 提取首字母,这里假设拼音首字母在ASCII码的前26个字母内 IF ascii BETWEEN 'A' AND 'Z' THEN first_char := ascii; ELSE first_char := 'X'; -- 对于非字母字符,可以设置为特定标记 END IF; output_char...
在IT领域,尤其是在文本处理和信息检索中,获取汉字拼音首字母是一项常见的需求。这个功能可以帮助我们快速地对汉字进行编码,便于计算机处理和搜索。例如,在开发搜索引擎、拼音输入法或者建立汉字索引时,将汉字...
对于需要获取拼音首字母的情况,可以先获取全拼,然后取每个拼音的首字母。例如,`"北京".charAt(0)`获取“北”的字符,`pinyin.charAt(0)`获取其首字母。 在实际应用中,pinyin4j可以用来做关键词提取、拼音排序...
在中文处理中,拼音声母是指每个汉字拼音的开头部分,例如“汉字”转换为拼音“hàn zì”,其声母首字母为“hz”。 在标签中,“汉字转拼音”是关键功能,它是许多中文处理应用的基础,比如搜索引擎、输入法、语音...
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 - 遇到不能翻译的字符不...
--此函数默认返回汉字拼音的首字母,第二个参数不为空则返回全拼。 create or replace function f_getFirstOrFullSpell(p_cnStr In varchar2,p_sign In number default null) return varchar2 as lv_spell varchar2...
总的来说,Java中的汉字转拼音、首字母获取以及多音字处理主要依赖于像`pinyin4j`这样的第三方库,它们提供了丰富的功能,使得开发者能方便地进行中文字符的拼音处理。在实际项目中,正确理解和运用这些工具,可以...
在Android和Java开发中,有...总结来说,"取汉字拼音首字母的Demo"是一个通过Pinyin4j库实现汉字转拼音并获取首字母的例子,主要用于按拼音首字母排序数据列表。这个功能在许多需要快速查找和分类的场景中非常实用。
4. **拼音映射**:对于每个汉字,查询一个预设的拼音表来获取其拼音首字母。这里使用了一个子查询,其中包含了部分常见的拼音首字母与汉字之间的映射关系。通过比较输入的汉字与表中的汉字,找到最小的一个拼音首...
将汉字转为全拼或返回拼音首字母(Oracle SQL语句)
oracle汉字转换成拼音首字母、全拼,各种转换类型比较齐全,oracle汉字转换五笔首字母链接https://blog.csdn.net/weixin_40912627/article/details/88710064
一个常用的库是`Pinyin4j`,它是一个用于Java的中文拼音处理库,可以方便地获取汉字的全拼和首字母。 以下是一个使用`Pinyin4j`库获取汉字首字母的基本步骤: 1. **添加依赖**: 在项目中引入`Pinyin4j`库,如果是...
总结来说,Pinyin4j-2.5.0.jar是Java环境下处理中文拼音的强大工具,它提供了一套完善的API,使得开发者能轻松地将汉字转换为拼音,无论是首字母还是全拼,都能高效准确地完成。在实际项目中,正确集成并使用Pinyin4...
从给定的文件信息来看,主要讨论的是一个用于获取每个汉字拼音首字母的函数实现。这一功能在中文信息处理、中文姓名缩写生成、中文文本分析等领域有着广泛的应用。下面,我们将深入探讨这一主题,包括拼音首字母的...
在SQL Server数据库环境中,开发和处理中文数据时,有时我们需要将汉字转换为其对应的汉语拼音首字母,这在构建搜索引擎、数据分析或实现特定功能时非常有用。"sqlserver获取汉字的汉语拼音首字母支持多音字"这个...