- 浏览: 7331569 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
一个强大的中文转换拼音的开源组件。
package com.unutrip.remoting.ws;
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;
/**
*
* pinyin4j使用
*
* @author longgangbai
*
*/
public class CNSpell {
public static HanyuPinyinToneType[] toneTypes = new HanyuPinyinToneType[] {
HanyuPinyinToneType.WITH_TONE_NUMBER,
HanyuPinyinToneType.WITHOUT_TONE,
HanyuPinyinToneType.WITH_TONE_MARK };
public static HanyuPinyinVCharType[] vCharTypes = new HanyuPinyinVCharType[] {
HanyuPinyinVCharType.WITH_U_AND_COLON, HanyuPinyinVCharType.WITH_V,
HanyuPinyinVCharType.WITH_U_UNICODE };
public static HanyuPinyinCaseType[] caseTypes = new HanyuPinyinCaseType[] {
HanyuPinyinCaseType.LOWERCASE, HanyuPinyinCaseType.UPPERCASE };
/**
* 将中文字符转换为相应的数组
*
* @param chineseCharacter
* @param toneSelection
* @param vcharSelection
* @param caseSelection
*/
private static void updateFormattedText(String chineseCharacter,
HanyuPinyinToneType toneSelection,
HanyuPinyinVCharType vcharSelection,
HanyuPinyinCaseType caseSelection) {
// 拼音格式化对象
HanyuPinyinOutputFormat outputFormat = new HanyuPinyinOutputFormat();
// 设置中文声调
if (toneSelection != null) {
if (toneTypes[0] == toneSelection) {
outputFormat.setToneType(HanyuPinyinToneType.WITH_TONE_NUMBER);
} else if (toneTypes[1] == toneSelection) {
outputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
} else if (toneTypes[2] == toneSelection) {
outputFormat.setToneType(HanyuPinyinToneType.WITH_TONE_MARK);
}
}
// 设置特殊拼音的转换
if (vcharSelection != null) {
if (vCharTypes[0] == vcharSelection) {
outputFormat
.setVCharType(HanyuPinyinVCharType.WITH_U_AND_COLON);
} else if (vCharTypes[1] == vcharSelection) {
outputFormat.setVCharType(HanyuPinyinVCharType.WITH_V);
} else if (vCharTypes[2] == vcharSelection) {
outputFormat.setVCharType(HanyuPinyinVCharType.WITH_U_UNICODE);
}
}
// 设置转换的拼音的大小写
if (caseSelection != null) {
if (caseTypes[0] == caseSelection) {
outputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
} else if (caseTypes[1] == caseSelection) {
outputFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
}
}
// 获取字符串
char[] cnStr = chineseCharacter.toCharArray();
for (char chineseChar : cnStr) {
// 将字符转换为拼音数组
String[] pinyinArray = null;
try {
pinyinArray = PinyinHelper.toHanyuPinyinStringArray(
chineseChar, outputFormat);
} catch (BadHanyuPinyinOutputFormatCombination e1) {
e1.printStackTrace();
}
String outputString = concatPinyinStringArray(pinyinArray);
System.out.println(outputString);
}
}
/**
* 测试中文转换拼音方法
*
* @param args
*/
public static void main(String[] args) {
updateFormattedText("我是中国人!", HanyuPinyinToneType.WITH_TONE_MARK,
HanyuPinyinVCharType.WITH_U_UNICODE,
HanyuPinyinCaseType.UPPERCASE);
}
/**
* 将转换的拼音数组转换为字符串
*
* @param pinyinArray
* @return
*/
private static String concatPinyinStringArray(String[] pinyinArray) {
StringBuffer pinyinStrBuf = new StringBuffer();
if ((null != pinyinArray) && (pinyinArray.length > 0)) {
for (int i = 0; i < pinyinArray.length; i++) {
pinyinStrBuf.append(pinyinArray[i]);
pinyinStrBuf.append(System.getProperty("line.separator"));
}
}
String outputString = pinyinStrBuf.toString();
return outputString;
}
}
发表评论
-
【转】Django resources
2014-01-23 14:35 10805Django resources This page li ... -
使用国内镜像源来加速python pypi包的安装
2014-01-16 11:16 197806pipy国内镜像目前有: http://pypi.d ... -
[转 ]vagrant使用简介
2014-01-10 13:53 257311> 简介: vagrant提供了易于配置,重复性 ... -
[转]在Java中调用Python
2014-01-07 13:08 9211在执行之前都需要把jython对应的包加载进去,这个是必须的 ... -
[转]Eclipse配置PyDev插件
2014-01-02 14:25 2834安装python解释器 安装PyDev: 首 ... -
RestFuse的研究(五) Http请求的封装
2014-06-14 15:50 3625在RestFuse中封装了Http请 ... -
RestFuse的研究(四) Junit的Statement的分析
2013-12-06 11:46 1667在RestFuse提供了多种单 ... -
RestFuse的研究(三) Junit的Rule的使用和分析
2013-12-06 11:01 2234在junit中定义一些可以公用的规则(R ... -
RestFuse的研究(二) Junit的Runner的分类和模式
2013-12-06 10:40 1599在Junit4中的调用JunitCore可以采 ... -
RestFuse的研究(一) HttpJunitRunner的实现
2013-12-06 10:11 1743在RestFuse是一种针对Rest We ... -
[转]An open-source JUnit extension to test HTTP/REST APIs
2013-12-06 09:57 1099http://developer.eclipsesource ... -
TestNG简单的学习(十三)TestNG中Junit的实现
2013-12-04 09:00 3353TestNG和junit的整合 ... -
TestNG简单的学习(十二)TestNG运行
2013-12-03 09:08 51575文档来自官方地址: ... -
TestNG简单的学习(十一)TestNG学习总结
2013-12-03 09:08 14176最近一直在学习关于TestNG方面的知识,根 ... -
TestNG简单的学习(十)TestNG @Listeners 的使用
2013-12-03 09:07 8688TestNG官方网站: http://testng.or ... -
TestNG简单的学习(九)TestNG Method Interceptors 的使用
2013-12-03 09:07 2711TestNG官方网站: http://testng ... -
TestNG简单的学习(八)TestNG Annotation Transformers 的使用
2013-12-03 09:07 2805TestNG官方网站: http://testng.or ... -
TestNG简单的学习(七)TestNG编程方式运行
2013-12-02 09:22 2450TestNG官方网站: http://testng.or ... -
TestNG简单的学习(六)测试工厂注释的使用
2013-12-02 09:22 2779TestNG官方网站: http://testng.or ... -
TestNG简单的学习(五)参数化测试数据的定制
2013-12-02 09:22 2698TestNG官方网站: http://testng.or ...
相关推荐
《使用pinyin4j将中文转换为拼音》 在处理中文文本时,有时我们需要将汉字转化为拼音,以便进行关键词检索、语音合成或者数据分析等任务。pinyin4j是一个非常实用的Java库,它能帮助我们方便地实现这个功能。本文将...
`pinyin4j`库的核心功能是将汉字转换为汉语拼音。这个过程涉及到多个方面,包括识别多音字、处理声调以及提供不同的拼音输出格式。例如,对于汉字"好",`pinyin4j`可以输出"haο"(无声调形式)或"hǎo"(带声调形式...
Pinyin4j便是一个专门解决这一问题的强大工具,它是一个开源的Java库,能够方便、高效地将汉字转换为汉语拼音,为开发者提供了极大的便利。 Pinyin4j的核心功能在于其对汉字拼音的处理能力。它能够处理单个汉字、...
《使用pinyin4j库进行中文到拼音转换的详解》 在处理中文字符时,有时我们...通过简单调用其提供的API,开发者可以方便地处理汉字、词语乃至整个句子的拼音转换,无论是简体中文还是繁体中文,pinyin4j都能游刃有余。
总的来说,pinyin4j-2.5.0.jar是一个强大且易用的Java库,它极大地简化了汉字与拼音之间的转换过程,是处理中文字符问题时不可或缺的工具。通过合理利用这个库,开发者可以更高效地实现各种基于拼音的业务逻辑,提升...
《pinyin4j-2.5.0.jar:中文转换拼音与获取首字母的利器》 在处理中文数据时,有时我们需要将汉字转化为拼音,以便进行关键词检索、数据分析或者构建搜索引擎。这时,一个强大的工具库就能派上用场,那就是pinyin4j...
例如,在处理人名时,pinyin4j可以正确识别“欧阳修”的拼音为"Ou Yang Xiu",而不是简单地将其拆分为“ou yang xiu”。对于地名,如“重庆市”,它能够输出“Chongqing Shi”而非“Chong qing Shi”。 在使用...
总结起来,pinyin4j是一个强大且实用的Java拼音处理工具,它涵盖了从基本的汉字转拼音到复杂的声调处理等多种功能,适用于各种需要汉字与拼音转换的场景。对于Java开发者来说,掌握并利用好pinyin4j,无疑能提升项目...
pinyin4j的核心功能在于,它可以将单个汉字或字符串中的所有汉字转换为其对应的汉语拼音。例如,“中国”会被转换为“China”,“再见”则转换为“zai jian”。它不仅支持基本的拼音转换,还能够处理多音字,提供...
例如,在搜索引擎中,用户输入的关键词可能包含汉字,通过pinyin4j转换成拼音后,可以方便地与索引中的拼音数据进行匹配。 总结起来,pinyin4j-jar是一个强大的汉字转拼音工具,它提供了灵活的拼音输出格式设置,能...
1. 汉字转拼音:pinyin4j的核心功能就是将单个汉字或字符串中的汉字转换为对应的汉语拼音。例如,“中国”可以转换为“Zhongguo”。 2. 多音字处理:对于具有多个读音的汉字,pinyin4j能提供所有可能的读音。例如,...
Pinyin4j是一个开源的Java库,由Barry DeZeng开发,它的主要功能就是将汉字转换成汉语拼音。这个库支持多种拼音表示方式,包括全拼、简拼以及声调标记等,可以满足不同的需求。Pinyin4j的设计简洁而高效,它不依赖...
pinyin4j是一款开源的Java库,专门用于汉字到拼音的转换,它提供了简单易用的API,使得开发者可以轻松地将汉字转化为拼音,包括全拼和首字母。 首先,我们来了解下pinyin4j的核心类`PinYin4jUtils`。这个工具类是...
pinyin4j是一款强大的Java库,专门用于处理汉字与拼音之间的转换,它极大地简化了汉字拼音排序的过程。本文将深入探讨pinyin4j库的使用方法以及在汉字拼音排序中的应用。 一、pinyin4j简介 pinyin4j是Java平台上的...
标签中的“字符转码”是指Pinyin4j能够处理汉字与拼音之间的编码转换,而“中文转汉字”则强调了它的主要功能——将汉字转换为对应的拼音形式。通过Pinyin4j,开发者无需深入理解复杂的汉字拼音规则,只需简单调用...
pinyin4j能够轻松地将汉字转换成拼音,使得这些功能的实现变得简单而高效。 首先,我们来了解一下pinyin4j的基本用法。在Java代码中,你可以通过创建`PinyinHelper`对象并调用其方法,如`toHanyuPinyinStringArray...
本文将深入探讨Pinyin4j库,一个专门为Java开发者设计的,用于实现中文到拼音转换的强大工具。 Pinyin4j,正如其名,是一个专门针对Java平台的开源库,由Barry DeZeng开发,其主要功能是将中文字符转换为汉语拼音。...
### pinyin4j:Java版汉字转换拼音大小写 #### 概述 本文档主要介绍如何使用`pinyin4j`库实现Java程序中的汉字到拼音的转换,并着重讲解如何控制转换后拼音的大小写形式。`pinyin4j`是一款功能强大的开源库,能够...
3. **拼音分词**:对于含有多个汉字的字符串,`pinyin4j`可以将其拆分为一个个单独的汉字,并分别转换为拼音。这对于进行基于拼音的关键词提取或搜索很有帮助。 4. **首字母提取**:如果你只需要汉字的首字母,`...
总结起来,pinyin4j是一个强大的汉字转拼音工具,通过`PinYinUtil.java`这样的工具类,我们可以方便地将其整合进Java项目中,实现汉字的拼音化处理,无论是用于数据分析、关键词提取还是其他相关应用,都能极大地...