获取汉字串拼音首字母以及获取汉字串拼音
引入包:pinyin4j-2.5.0.jar 即可使用.
package org.wcy.util;
import java.io.UnsupportedEncodingException;
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 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,String split) {
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++) {
try {
if(isChinese(arr[i]))
pybf.append(PinyinHelper.toHanyuPinyinStringArray(arr[i],
defaultFormat)[0]).append(split);
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
}
return pybf.toString();
}
public static void main(String[] args) throws UnsupportedEncodingException {
String x = "数据库技术";
System.out.println(cn2FirstSpell(x));
System.out.println(cn2Spell(x,","));
}
/**
* 判断是否为汉字
* @param c
* @return
*/
private static boolean isChinese(char c) {
if (Character.toString(c).matches("[\\u4E00-\\u9FA5]+"))
return true;
return false;
}
}
分享到:
相关推荐
在Oracle数据库中,处理汉字和拼音的场景时,有时我们需要获取汉字的拼音或者拼音首字母。这在构建中文搜索引擎、数据分析或报表展示等场景中非常有用。Oracle提供了一些内置的功能函数,可以用来实现这些需求。以下...
在VB(Visual Basic)编程环境中,获取汉字的拼音首字母是一项常见的需求,特别是在处理中文数据、搜索优化或者信息分类时。这个功能可以帮助我们将汉字转换为它们对应的拼音缩写,便于计算机处理。以下将详细讲解...
"安卓获取汉字拼音首字母工具类封装"就是一个这样的解决方案,它提供了一种便捷的方式来处理汉字与拼音之间的转换,以适配与IndexBar-master这种通讯录开源控件的配合使用。 首先,我们要理解工具类在编程中的作用...
"PHP获取字符串拼音首字母"这个话题涉及到的关键技术是汉字到拼音的转换,以及如何处理多音字的情况。本文将深入探讨这个主题,帮助你理解和实现相关功能。 首先,我们要明白,PHP本身并不直接支持汉字到拼音的转换...
java中根据汉字字符串获取拼音首字母工具类
在本项目"Qt提取汉字拼音首字母"中,我们将探讨如何利用Qt来处理汉字与拼音之间的转换,特别是在获取汉字的拼音首字母方面。 首先,我们需要理解汉字与拼音的关系。汉字是中文的主要书写系统,而拼音是用拉丁字母来...
- 数据排序:在列表展示中文内容时,可以按照拼音首字母进行排序,如通讯录中的姓名排序。 - 拼音输入法:输入法软件中,需要将用户输入的汉字转化为拼音,以便找到对应的键位。 总的来说,汉字转拼音及获取首...
在IT领域,特别是编程语言与...总之,C#中获取汉字拼音首字母涉及到对Unicode编码的理解、拼音映射数据的管理和字符串处理技巧。通过合理的设计和编程,可以有效地实现这一功能,为各种中文处理应用提供有力的支持。
"delphi获取汉字拼音首字母可含字母数字"这个话题聚焦于如何在Delphi中实现一个功能,能够提取汉字的拼音首字母,即使这些汉字中间可能包含字母或数字。以下将详细介绍这一技术及其相关的知识点。 首先,我们需要...
标题中的“PB获取汉字拼音首字母”指的是使用PowerBuilder(PB)编程语言编写的一个功能,该功能能够提取汉字的拼音首字母,特别是汉字拼音的声母部分。在中文信息处理中,有时候我们需要将汉字转化为拼音表示,特别...
使用MySQL函数,实现获取汉字拼音首字母。在SQL语句中传入汉字返回对应的首字母
总的来说,获取汉字的拼音首字母是中文编程中的一个重要环节,它涉及到多种技术手段,包括利用库、自建数据结构以及算法设计。在实际应用中,开发者需要根据项目需求和资源限制来选择合适的方法。了解和掌握这些知识...
在IT领域,特别是编程与文本处理中,获取汉字字符串的拼音首字母是一个常见的需求,尤其在中文信息处理、搜索引擎优化、排序以及数据分类等场景下。本文将详细解析如何通过编码转换和映射表的方式,从汉字字符串中...
在Java中实现提取汉语字符串各汉字拼音首字母并将其转换为大写是一项常见的需求,尤其是在处理中文文本数据时。本篇文章将详细介绍如何通过Java代码来实现这一功能,并对相关的知识点进行深入探讨。 #### 一、需求...
总的来说,通过结合JavaScript的字符串处理和DOM操作,我们可以实现中文拼音首字母的获取以及基于拼音首字母的页面内容查找。在实际应用中,可能还需要考虑性能优化,例如使用更高效的查找算法,或者对大量数据的...
假设我们需要处理一个包含多个汉字的字符串,并希望获取每个汉字的拼音首字母,可以通过以下步骤实现: 1. 将字符串分割成单个汉字。 2. 对每个汉字调用`pinyin`函数获取其拼音首字母。 3. 将所有的拼音首字母组合...
本文将详细探讨如何获取汉字的拼音首字母和全拼,并涉及字符集的相关知识。 首先,我们要理解汉字拼音转换的基本原理。在中文处理中,我们需要将汉字转化为拼音,以便计算机可以进行进一步的分析和操作。这通常通过...
标题“PB自动取字符串(汉字)的拼音首字母”指的是在PowerBuilder(PB)这个编程环境中,实现一个功能,该功能能够将输入的汉字字符串转换为对应的拼音首字母。这在处理汉字数据时非常有用,比如创建关键词索引、搜索...
为了实现汉字到拼音首字母的转换功能,我们可以定义一个自定义函数,该函数接收一个包含中文字符的字符串作为输入,然后逐个字符地进行处理,最终返回一个由这些字符的拼音首字母组成的字符串。 #### 三、具体实现...
支持2万+汉字转拼音首字母