- 浏览: 275623 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
夏保森:
太简单了,而且不是太好用,我现在项目就是要实现这样一个功能,比 ...
前台拼接SQL语句 -
人参萝卜:
楼主你好,想要一下这个样例工程的源码,能否分享一下,多谢多谢! ...
MxGraph web流程设计器破解 -
814292160:
为什么解压不了
extjs多文件上传 -
dongqing82585061:
楼主你好,能给份这个demo给我吗?现在我刚好需要实现类似的效 ...
MxGraph web流程设计器破解 -
ddccjjwwjj:
在JBPM中你的连线坐标根本无法做到JBPM的效果 全部会变形 ...
MxGraph web流程设计器破解
/** * 汉字转换位汉语拼音,英文字符不变 * @author xuke * */ public class Cn2Spell { /** * 汉字转换位汉语拼音首字母,英文字符不变 * @param chines 汉字 * @return 拼音 */ public static String converterToFirstSpell(String chines){ String pinyinName = ""; char[] nameChar = chines.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for (int i = 0; i < nameChar.length; i++) { if (nameChar[i] > 128) { try { pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0].charAt(0); } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{ pinyinName += nameChar[i]; } } return pinyinName; } /** * 汉字转换位汉语拼音,英文字符不变 * @param chines 汉字 * @return 拼音 */ public static String converterToSpell(String chines){ String pinyinName = ""; char[] nameChar = chines.toCharArray(); HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat(); defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE); for (int i = 0; i < nameChar.length; i++) { if (nameChar[i] > 128) { try { pinyinName += PinyinHelper.toHanyuPinyinStringArray(nameChar[i], defaultFormat)[0]; } catch (BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else{ pinyinName += nameChar[i]; } } return pinyinName; } public static void main(String[] args) { System.out.println(converterToFirstSpell("欢迎来到最棒的Java中文社区")); } }
import java.util.HashSet; import java.util.Set; 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 pinyin4j { /** * 字符串集合转换字符串(逗号分隔) * @author wyh * @param stringSet * @return */ public static String makeStringByStringSet(Set<String> stringSet){ StringBuilder str = new StringBuilder(); int i=0; for(String s : stringSet){ if(i == stringSet.size() - 1){ str.append(s); }else{ str.append(s + ","); } i++; } return str.toString().toLowerCase(); } /** * 获取拼音集合 * @author wyh * @param src * @return Set<String> */ public static Set<String> getPinyin(String src){ if(src!=null && !src.trim().equalsIgnoreCase("")){ char[] srcChar ; srcChar=src.toCharArray(); //汉语拼音格式输出类 HanyuPinyinOutputFormat hanYuPinOutputFormat = new HanyuPinyinOutputFormat(); //输出设置,大小写,音标方式等 hanYuPinOutputFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE); hanYuPinOutputFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE) hanYuPinOutputFormat.setVCharType(HanyuPinyinVCharType.WITH_V); String[][] temp = new String[src.length()][]; for(int i=0;i<srcChar.length;i++){ char c = srcChar[i]; //是中文或者a-z或者A-Z转换拼音(我的需求,是保留中文或者a-z或者A-Z) if(String.valueOf(c).matches("[\\u4E00-\\u9FA5]+")){ try{ temp[i] = PinyinHelper.toHanyuPinyinStringArray(srcChar[i], hanYuPinOutputFormat); }catch(BadHanyuPinyinOutputFormatCombination e) { e.printStackTrace(); } }else if(((int)c>=65 && (int)c<=90) || ((int)c>=97 && (int)c<=122)){ temp[i] = new String[]{String.valueOf(srcChar[i])}; }else{ temp[i] = new String[]{""}; } } String[] pingyinArray = Exchange(temp); Set<String> pinyinSet = new HashSet<String>(); for(int i=0;i<pingyinArray.length;i++){ pinyinSet.add(pingyinArray[i]); } return pinyinSet; } return null; } /** * 递归 * @author wyh * @param strJaggedArray * @return */ public static String[] Exchange(String[][] strJaggedArray){ String[][] temp = DoExchange(strJaggedArray); return temp[0]; } /** * 递归 * @author wyh * @param strJaggedArray * @return */ private static String[][] DoExchange(String[][] strJaggedArray){ int len = strJaggedArray.length; if(len >= 2){ int len1 = strJaggedArray[0].length; int len2 = strJaggedArray[1].length; int newlen = len1*len2; String[] temp = new String[newlen]; int Index = 0; for(int i=0;i<len1;i++){ for(int j=0;j<len2;j++){ temp[Index] = strJaggedArray[0][i] + strJaggedArray[1][j]; Index ++; } } String[][] newArray = new String[len-1][]; for(int i=2;i<len;i++){ newArray[i-1] = strJaggedArray[i]; } newArray[0] = temp; return DoExchange(newArray); }else{ return strJaggedArray; } } /** * @param args */ public static void main(String[] args) { String str = "单田芳"; System.out.println(makeStringByStringSet(getPinyin(str))); } }
控制台输出:dantianfang,shantianfang,chantianfang
- pinyin4j-2.5.0.zip (360.2 KB)
- 下载次数: 1056
评论
14 楼
luowuping
2012-09-03
怎么好多都是不正确。还是谢谢啦,
13 楼
DonTide
2012-09-03
你牛,很想要这个东西。呵呵!谢谢分享。
12 楼
assoloist
2012-08-13
高手!支持一下!
11 楼
DefallDevil
2012-06-11
thanks,受益啦
10 楼
eyesurf
2012-05-28
很实用,经常会用到
9 楼
wangjy
2012-03-07
非常的好用,^_^
8 楼
xinming_me
2012-01-14
楼主,人才啊。学习
7 楼
tianhandigeng
2011-12-07
感觉不是那么准确,中文输入“成都”,转换成的是“chengdou”
6 楼
wst302
2011-11-16
学习,正好用到
5 楼
derekkuo
2011-06-14
感谢哦,能直接用上:)
4 楼
acegi13579
2011-06-02
直接能运行、、呵呵、、、感谢分享
3 楼
379427555
2011-04-22
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
好好好
2 楼
Zhliang
2010-05-13
自动收索功能上能用到这些
1 楼
ldeng76
2009-10-31
很有用,非常感谢分享.
发表评论
-
Struts2中list排序 sort标签按降序排列
2011-07-18 03:01 3961struts2中sort标签默认是按升序排列的,如果想按降序排 ... -
JSP版的完善KindEditor在线编辑器开源代码
2011-07-09 13:18 1542package com.elkan.kindeditor.up ... -
js浮动toolbar
2011-07-09 12:41 1885这几天做程序一直在找浮动的toolbar 找到个比较好的 ... -
json lib 转换时间
2010-11-11 01:53 2264Java对象中存在Date类型的对象无法进行解析,但是我又必须 ... -
There is a cycle in the hierarchy!
2010-11-07 20:39 2964在开发过程中遇到了一个JSON-LIB和Hibernate有关 ... -
struts2-json-plugin 使用
2010-06-07 20:10 4824为了方便ajax调用传输数据,在struts2中加入的json ... -
htmlparser使用(三)
2010-05-12 14:36 1083出处:http://blog.csdn.net/ ... -
htmlparser使用(二)
2010-05-12 14:31 1919这两天准备做一些网站编程的工作,于是对HtmlParse小研究 ... -
htmlparser的使用样例
2010-05-12 14:29 1402package test; import java. ... -
htmlparser使用(一)
2010-05-12 14:26 1397需要做一个垂直搜索引 ... -
对象转换成JSON字符串的方法
2009-05-21 12:10 2354import java.lang.reflect.Field; ... -
Java中的List排序
2009-04-27 01:03 1839//java list 排序 //关键词: j ... -
java中json处理的使用
2009-02-27 13:30 7355/** * Copyright (c) linkwise 2 ... -
Java操作json的通用类
2009-02-27 13:05 1590package com.baiyyy.polabs.util. ... -
任意对象转化为JSON
2009-02-27 12:57 1657import java.beans.Introspection ... -
JSON 字符串的工具
2009-02-27 12:53 1394import java.util.ArrayList; imp ... -
java常用函数收集(二)
2008-09-06 17:47 1381/** * 人民币转成大写 * ... -
java常用函数收集(一)
2008-08-23 12:18 1642Java代码 /** * ...
相关推荐
对于`JAVA汉字转换拼音`,你可以查看源代码,学习作者是如何实现汉字转换拼音的,并根据实际需求进行修改或扩展。 总之,Java中实现汉字转换拼音的功能并不复杂,关键在于选择合适的库和正确地调用其API。Pinyin4j...
这个"Java汉字转拼音(支持多音字)"的主题涉及了如何在Java环境中实现这一功能,特别是考虑到中文的多音字特性。 多音字是指一个汉字有多个读音,其读音取决于它在特定语境中的含义。例如,“打”字可以读作“dǎ...
在Java编程语言中,汉字转拼音是一项常见的需求,特别是在处理中文数据、搜索引擎优化或文本处理等领域。本篇文章将深入探讨如何使用Java实现汉字转拼音的功能,包括获取汉字的全拼和首字母。 首先,我们需要理解...
以上就是关于“java汉字转拼音,android汉字转拼音,汉字转拼音首字母,汉字转ASCII”的技术要点。在实际应用中,根据需求选择合适的转换方式,并注意处理可能出现的异常情况,如多音字、非ASCII字符等。在处理大量...
### Java程序实现中文转拼音及首字母转换 #### 概述 在中文处理领域,将汉字转换为拼音是一项常见的需求,特别是在搜索引擎、自然语言处理、数据标准化等应用场景中。本文介绍了一个简单的Java类`ChineseToEnglish...
java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java汉字转拼音java...
根据提供的文件信息,本文将详细解析“Java汉字转换拼音”的实现方法及原理,并结合实际代码进行分析。 ### 一、项目概述 #### 标题:Java汉字转换拼音 该标题明确指出项目的主要功能是利用Java语言实现汉字到拼音...
汉字转拼音(java)汉字转拼音(java)汉字转拼音(java)汉字转拼音(java)汉字转拼音(java)汉字转拼音(java)汉字转拼音(java)汉字转拼音(java)汉字转拼音(java)汉字转拼音(java)汉字转拼音(java)...
总的来说,Java中的汉字转拼音、首字母获取以及多音字处理主要依赖于像`pinyin4j`这样的第三方库,它们提供了丰富的功能,使得开发者能方便地进行中文字符的拼音处理。在实际项目中,正确理解和运用这些工具,可以...
在Java编程语言中,将汉字转换为拼音是一项常见的任务,特别是在处理中文文本、搜索优化或者构建用户友好的URL时。这个“java后台汉字转拼音”的压缩包文件可能包含了一个简单的示例程序,演示如何实现这一功能。...
本文将详细介绍如何使用Java实现中文转拼音的功能,并探讨相关的技术点。 首先,Java中实现中文转拼音主要依赖于第三方库,如Pinyin4j或HanyuPinyin等。Pinyin4j是一个广泛使用的Java库,它提供了方便的方法来获取...
本篇文章将详细探讨如何在Java中实现汉字转拼音,并给出相关代码示例。 首先,Java的标准库并没有直接提供汉字转拼音的API,但可以通过第三方库来实现。其中一个广泛应用的库是Pinyin4j,它是一个轻量级的Java库,...
Java汉字转换为拼音工具类 汉字转换为拼音包括全拼、首字母缩写;全拼可计算出多音字。
pinyin4j是一个支持将中文转换到拼音的Java开源类库。 支持简体中文和繁体中文字符; 支持转换到汉语拼音,通用拼音, 威妥玛拼音(威玛拼法), 注音符号第二式, 耶鲁拼法和国语罗马字; 支持多音字,即可以获取一...
总结来说,“Java实现中文转拼音.rar”提供的工具类是一个便捷的Java解决方案,它能够帮助开发者将中文汉字转换为拼音。通过解压并运行`PinyinTest`,你可以快速验证其功能并集成到自己的项目中,为处理中文文本带来...
java中针对汉字的操作中有时需要对汉字进行转换成拼音,改工具类主要对汉字进行转换。
总的来说,Java中的汉字转拼音通过pinyin4j库变得非常简单,只需要正确引入库并编写一些辅助方法,就可以轻松地在程序中实现汉字与拼音之间的转换。这在处理中文数据时非常有用,能够帮助开发出更加适应中国用户的...
- **Pinyin4j** 是一个强大的Java库,主要用于将中文汉字转换为拼音,同时支持多种配置选项来调整输出格式。 - 这个库提供了一系列工具类和枚举类型来帮助开发者定制拼音的输出方式,例如是否带有声调、拼音首字母大...
总的来说,Java汉字转拼音是处理中文文本的关键技术之一,它涉及了字符编码、自然语言处理和库的使用。通过使用现有的开源库,开发者可以轻松地在Java项目中实现这一功能,从而满足各种应用场景的需求。
"j2ee精英团队10年编程精华大放送"表明这个压缩包可能包含了该团队在Java汉字转拼音领域积累的宝贵经验和实用工具。 首先,我们要了解Java中的汉字转拼音的基本原理。通常,这涉及到读取汉字字符并使用预定义的映射...