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;
import java.io.UnsupportedEncodingException;
/**
* 拼音工具
*
* @author leizhimin 2009-7-15 15:26:21
*/
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) {
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();
}
public static void main(String[] args) throws UnsupportedEncodingException {
String x = "嘅囧誰說壞學生來勼髮視頻裆児";
System.out.println(cn2FirstSpell(x));
System.out.println(cn2Spell(x));
}
}
运行结果:
kjsshxsljfspde
kaijiongshuishuohuaixueshenglaijiufashipindanger
Process finished with exit code 0
分享到:
相关推荐
PinYin4jUtils PinYin4j使用案例
通过使用Pinyin4j,开发者可以快速实现对中文数据的拼音化处理,提高应用的用户体验。 Pinyin4j的使用方法简单直观。首先,你需要将提供的`pinyin4j.jar`文件引入到你的项目类路径中。然后,你可以通过`...
赠送jar包:pinyin4j-2.5.0.jar; 赠送原API文档:pinyin4j-2.5.0-javadoc.jar; 赠送源代码:pinyin4j-2.5.0-sources.jar; 赠送Maven依赖信息文件:pinyin4j-2.5.0.pom; 包含翻译后的API文档:pinyin4j-2.5.0-...
通过阅读源码,我们可以发现pinyin4j使用了多种算法,如基于词典的查找、分词和拼音转换等,从而实现高效且准确的转换。此外,源码分析还能帮助开发者定位潜在问题,进行定制化开发或优化性能。 再者,说明文档是...
使用pinyin4j库非常简单,只需在项目中引入jar包,然后通过其提供的API即可进行拼音处理。例如,以下代码演示了如何将汉字转化为拼音: ```java import net.sourceforge.pinyin4j.PinyinHelper; public class ...
《使用pinyin4j进行汉字拼音处理的代码实践》 在Java编程中,处理汉字的拼音转换是一项常见的任务,尤其在实现搜索、排序或者输入法等应用时。pinyin4j是一个优秀的开源库,它提供了方便快捷的方法来将汉字转换为...
使用`pinyin4j-2.5.0`,开发者只需简单导入库,然后通过API调用来实现汉字到拼音的转换。例如: ```java import net.sourceforge.pinyin4j.PinyinHelper; public class Main { public static void main(String[] ...
在使用pinyin4j-2.5.0.jar之前,首先需要将其导入到项目中。对于Java项目,可以将jar文件添加到项目的类路径(classpath)中;对于Maven或Gradle项目,可以通过在构建配置文件中指定依赖来引入。Kotlin项目同样可以...
使用pinyin4j非常简单,只需将pinyin4j-2.5.0.jar添加到项目的类路径中。以下是一些基本的使用示例: 1. 导入必要的包: ```java import net.sourceforge.pinyin4j.PinyinHelper; ``` 2. 单个汉字转拼音: ```java...
在使用OYRong1988pinyin4j.jar这个特定版本时,开发者可以先尝试其默认功能,看看是否满足项目需求。如果不满足,那么就需要对源码进行分析,找出处理多音字的逻辑,并根据自己的业务场景,如用户输入习惯、领域词汇...
在Java开发中,处理中文字符转化为拼音是一项常见的任务,这时我们常常会使用到pinyin4j这个开源库。然而,如果在项目中遇到"The import net.sourceforge.pinyin4j cannot be resolved"的异常,这通常意味着pinyin4j...
在实际项目中,使用`pinyin4j`通常有以下步骤: 1. **添加依赖**:如果你的项目是基于Maven构建的,你可以将`pinyin4j-2.5.0.jar`放入本地Maven仓库,并在`pom.xml`文件中添加相应的依赖。这样,其他模块就可以通过...
《使用Pinyin4j库将中文转换为拼音的深度解析》 在信息技术高速发展的今天,中文与英文的交互成为日常工作中不可或缺的一部分。特别是在编程领域,将中文转化为拼音的需求日益凸显,尤其是在处理汉字文本、搜索引擎...
Pinyin4j的基本用法 - 玄机逸士的专栏 - 博客频道 - CSDN.NET.html )
在压缩包中,附带的`PinyinUtils.java`是一个使用示例,它展示了如何在实际项目中集成和使用pinyin4j。这个示例文件通常包含了初始化、转换和处理结果的基本步骤,对于初学者来说,是一个很好的学习起点。通过阅读和...
本文将详细介绍pinyin4j的核心功能、使用方法及其在实际开发中的应用。 一、pinyin4j简介 pinyin4j是由Liu Jiangyong开发的一款开源Java库,主要功能是将汉字转换为汉语拼音。它支持多种拼音表示方式,包括全拼、...
只需要将pinyin4j-2.5.0.jar添加到项目的依赖库中,就可以在代码中直接使用。对于Maven项目,可以在pom.xml文件中添加相应的依赖配置,对于Gradle项目,可以在build.gradle文件中声明依赖。这样,你就可以在...
这里我们将详细介绍如何使用`pinyin4j`这个Java库来实现中文字符串的拼音排序。 `pinyin4j`是一个强大的Java库,它提供了将汉字转换为拼音的功能,这使得我们可以基于每个汉字的拼音首字母来进行排序。以下是如何...
本文将详细介绍pinyin4j-2.5.0.jar这个jar包以及如何使用它来实现汉字转拼音的功能。 pinyin4j是一个开源的Java库,由Barry de Graaff创建,它的主要功能是提供汉字到拼音的转换服务。在pinyin4j-2.5.0.jar这个版本...
《pinyin4j:中文转拼音的利器》 在信息技术高速发展的今天,处理中文字符的需求日益增长,尤其是在搜索引擎、...通过熟练掌握pinyin4j的使用,我们可以更好地应对中文信息处理的挑战,提升项目的技术含量和用户体验。