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;
}
}
分享到:
相关推荐
如果没有权限使用Java存储过程,或者想在SQL查询中直接获取拼音,可以考虑创建自定义的PL/SQL函数。这种方法通常需要预先将所有汉字对应的拼音存储在数据库表中,然后通过查询这个表来获取拼音。虽然这种方式较为...
VBA获取拼音源码.xlsm 两个自定义函数 一个是获取单个字符的拼音 一个是获取中文句子的拼音 可以直接当函数使用
"Java名字获取拼音"这个主题就是关于如何在Java中实现这一功能。这里我们将深入探讨如何利用开源库pinyin4j来完成汉字到拼音的转换,并提供一个完整的使用示例。 pinyin4j是一个强大的Java库,专门用于处理汉字和...
获取拼音首字母通常用于快速索引或创建缩写,例如在搜索引擎中,用户可以通过输入关键词的首字母快速找到目标信息。而获取全拼则更适用于需要完整拼音的场景,如语音识别或自动文本纠错。 字符集的选择对于跨平台和...
在Delphi编程环境中,获取汉字拼音是一项常见的需求,特别是在处理汉字与英文字符混合的数据时。本文将深入探讨如何使用Delphi来实现这个功能,并提供一个关键的源代码片段,帮助开发者理解并应用到自己的项目中。 ...
标题“获取汉字的拼音”所指的是一种技术或类库,它能帮助开发者实现这个功能。描述中提到,这是一个类库,只需要将其集成到自己的程序中,就可以自动获取汉字的拼音,并且提供了详细的使用说明。 “汉字转换成拼音...
Delphi编程获取汉字拼音(简拼、全拼皆可)单元 1.支持D7——D2010(XE没有测试过,但是应该没有问题); 2.支持全拼和简拼获取; 3.支持的汉字非常全面; 使用说明:1.在项目中需要的地方引用Spell单元; 2.调用...
标题中的“PB获取汉字拼音首字母”指的是使用PowerBuilder(PB)编程语言编写的一个功能,该功能能够提取汉字的拼音首字母,特别是汉字拼音的声母部分。在中文信息处理中,有时候我们需要将汉字转化为拼音表示,特别...
但是,直接获取拼音首字母通常需要额外的逻辑处理,因为`TextInfo`类默认提供的功能可能并不直接支持首字母提取。 ### 分析给定代码片段 给定的代码片段似乎试图通过一系列比较操作来决定输入字符串的首字母,但其...
本文将介绍如何使用JavaScript实现获取汉字首字母拼音、全拼音以及混拼音的方法。 首先,要实现这些功能,我们需要一个能将汉字转换为拼音的JavaScript插件。在提供的示例中,使用了一个名为`ChinesePY.js`的插件,...
这段代码中,`StrConv`函数用于将汉字转换为Unicode编码,然后通过Windows API调用来获取拼音。不过,这里只是一个概念性的示例,实际的Windows API函数(如`GetTextLanguage`或`GetWordBreakProc`)并没有被正确地...
在IT领域,尤其是在文本处理和信息检索中,获取汉字拼音首字母是一项常见的需求。这个功能可以帮助我们快速地对汉字进行编码,便于计算机处理和搜索。例如,在开发搜索引擎、拼音输入法或者建立汉字索引时,将汉字...
在Delphi中实现“获取拼音简写”的功能,涉及到汉字到拼音转换的技术,这对于构建诸如搜索、拼音输入法或中文处理的应用程序非常有用。下面将详细解释这一过程涉及的知识点。 首先,我们要理解的是汉字与拼音之间的...
在C#中,获取拼音码通常需要利用第三方库或API。Windows操作系统内置的Uniscribe API可以用来获取汉字的拼音信息。通过P/Invoke技术,我们可以调用这些底层接口。以下是一个简单的示例: ```csharp using System; ...
在Oracle数据库环境中,有时我们需要对汉字进行处理,例如获取汉字的拼音或者拼音首字母,这在数据处理、搜索优化或特定应用开发中非常有用。Oracle提供了多种方式来实现这一功能,通常通过编写自定义的PL/SQL函数来...
// 使用pinyin4j或其他工具获取拼音 return "A"; // 假设返回“A”作为示例 } } / ``` 接下来,我们可以创建一个PL/SQL包装器来调用这个Java存储过程: ```sql CREATE OR REPLACE FUNCTION get_pinyin_head (p_...
在获取拼音首字母时,需要对每个汉字进行处理,分割出对应的拼音。 4. **大小写转换**:根据需求,你可能需要将首字母转换为大写或小写,VB6提供了`UCase`和`LCase`函数。 5. **异常处理**:某些汉字可能没有对应...
"delphi获取汉字拼音首字母可含字母数字"这个话题聚焦于如何在Delphi中实现一个功能,能够提取汉字的拼音首字母,即使这些汉字中间可能包含字母或数字。以下将详细介绍这一技术及其相关的知识点。 首先,我们需要...
"安卓获取汉字拼音首字母工具类封装"就是一个这样的解决方案,它提供了一种便捷的方式来处理汉字与拼音之间的转换,以适配与IndexBar-master这种通讯录开源控件的配合使用。 首先,我们要理解工具类在编程中的作用...
在这个项目中,我们有一个名为"java获取中午拼音字母"的压缩包文件,它可能包含了实现这一功能的源代码和相关工具。 首先,我们需要了解的是Java中的Unicode编码。中文字符在Java中是以Unicode编码存储的,每个字符...