只需要一个pinyin4j-2.5.0 目前新版本

下载地址:http://download.csdn.net/download/m0_37828590/9809067

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;/**
* @className:PinyingUtil.java
* @classDescription:拼音操作工具类
*/public class PinyingUtil {/**
* 将字符串转换成拼音数组
*
* @param src
* @return
*/
public static String[] stringToPinyin(String src) {
return stringToPinyin(src, false, null);
}
/**
* 将字符串转换成拼音数组
*
* @param src
* @return
*/
public static String[] stringToPinyin(String src,String separator) {
return stringToPinyin(src, true, separator);
}/**
* 将字符串转换成拼音数组
*
* @param src
* @param isPolyphone
* 是否查出多音字的所有拼音
* @param separator
* 多音字拼音之间的分隔符
* @return
*/
public static String[] stringToPinyin(String src, boolean isPolyphone,
String separator) {
// 判断字符串是否为空
if ("".equals(src) || null == src) {
return null;
}
char[] srcChar = src.toCharArray();
int srcCount = srcChar.length;
String[] srcStr = new String[srcCount];for (int i = 0; i < srcCount; i++) {
srcStr[i] = charToPinyin(srcChar[i], isPolyphone, separator);
}
return srcStr;
}/**
* 将单个字符转换成拼音
*
* @param src
* @return
*/
public static String charToPinyin(char src, boolean isPolyphone,
String separator) {
// 创建汉语拼音处理类
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
// 输出设置,大小写,音标方式
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);StringBuffer tempPinying = new StringBuffer();// 如果是中文
if (src > 128) {
try {
// 转换得出结果
String[] strs = PinyinHelper.toHanyuPinyinStringArray(src,
defaultFormat);// 是否查出多音字,默认是查出多音字的第一个字符
if (isPolyphone && null != separator) {
for (int i = 0; i < strs.length; i++) {
tempPinying.append(strs[i]);
if (strs.length != (i + 1)) {
// 多音字之间用特殊符号间隔起来
tempPinying.append(separator);
}
}
} else {
tempPinying.append(strs[0]);
}} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
tempPinying.append(src);
}return tempPinying.toString();}public static String hanziToPinyin(String hanzi){
return hanziToPinyin(hanzi," ");
}
/**
* 将汉字转换成拼音
* @param hanzi
* @param separator
* @return
*/
public static String hanziToPinyin(String hanzi,String separator){
// 创建汉语拼音处理类
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
// 输出设置,大小写,音标方式
defaultFormat.setCaseType(HanyuPinyinCaseType.LOWERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);String pinyingStr="";
try {
pinyingStr=PinyinHelper.toHanyuPinyinString(hanzi, defaultFormat, separator);
} catch (BadHanyuPinyinOutputFormatCombination e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return pinyingStr;
}
/**
* 将字符串数组转换成字符串
* @param str
* @param separator 各个字符串之间的分隔符
* @return
*/
public static String stringArrayToString(String[] str, String separator) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length; i++) {
sb.append(str[i]);
if (str.length != (i + 1)) {
sb.append(separator);
}
}
return sb.toString();
}
/**
* 简单的将各个字符数组之间连接起来
* @param str
* @return
*/
public static String stringArrayToString(String[] str){
return stringArrayToString(str,"");
}
/**
* 将字符数组转换成字符串
* @param str
* @param separator 各个字符串之间的分隔符
* @return
*/
public static String charArrayToString(char[] ch, String separator) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < ch.length; i++) {
sb.append(ch[i]);
if (ch.length != (i + 1)) {
sb.append(separator);
}
}
return sb.toString();
}/**
* 将字符数组转换成字符串
* @param str
* @return
*/
public static String charArrayToString(char[] ch) {
return charArrayToString(ch," ");
}/**
* 取汉字的首字母
* @param src
* @param isCapital 是否是大写
* @return
*/
public static char[] getHeadByChar(char src,boolean isCapital){
//如果不是汉字直接返回
if (src <= 128) {
return new char[]{src};
}
//获取所有的拼音
String []pinyingStr=PinyinHelper.toHanyuPinyinStringArray(src);
//创建返回对象
int polyphoneSize=pinyingStr.length;
char [] headChars=new char[polyphoneSize];
int i=0;
//截取首字符
for(String s:pinyingStr){
char headChar=s.charAt(0);
//首字母是否大写,默认是小写
if(isCapital){
headChars[i]=Character.toUpperCase(headChar);
}else{
headChars[i]=headChar;
}
i++;
}return headChars;
}
/**
* 取汉字的首字母(默认是大写)
* @param src
* @return
*/
public static char[] getHeadByChar(char src){
return getHeadByChar(src,true);
}
/**
* 查找字符串首字母
* @param src
* @return
*/
public static String[] getHeadByString(String src){
return getHeadByString( src, true);
}
/**
* 查找字符串首字母
* @param src
* @param isCapital 是否大写
* @return
*/
public static String[] getHeadByString(String src,boolean isCapital){
return getHeadByString( src, isCapital,null);
}
/**
* 查找字符串首字母
* @param src
* @param isCapital 是否大写
* @param separator 分隔符
* @return
*/
public static String[] getHeadByString(String src,boolean isCapital,String separator){
char[]chars=src.toCharArray();
String[] headString=new String[chars.length];
int i=0;
for(char ch:chars){char[]chs=getHeadByChar(ch,isCapital);
StringBuffer sb=new StringBuffer();
if(null!=separator){
int j=1;for(char ch1:chs){
sb.append(ch1);
if(j!=chs.length){
sb.append(separator);
}
j++;
}
}else{
sb.append(chs[0]);
}
headString[i]=sb.toString();
i++;
}
return headString;
}public static void getGBKpy(String hz) {
System.out.println("---------------------------"+stringArrayToString(getHeadByString(hz)));
System.out.println("++++++++++++++++++++++++++++"+hanziToPinyin(hz));
}}

java 汉字转换为拼音 简码 及全拼音相关推荐

  1. java 汉子转换为拼音 简码 及全拼音

    只需要一个pinyin4j-2.5.0 目前新版本 下载地址:http://pinyin4j.sourceforge.net/ import net.sourceforge.pinyin4j.Piny ...

  2. java 汉字转换为拼音

    需要引入pinyin4j  , 没有文件上传,pinyin4j 上传不上来 import java.io.UnsupportedEncodingException; import net.source ...

  3. Java 汉字转换为拼音字符串

    本文本着学习分享的目的,介绍一种基于java.text.Collator的比较挫的方法,实现汉字转换为拼音字符串.当然我得暂时不考虑汉字多音字的问题.最终结果是这样: 吃 -> CHI    睡 ...

  4. 【Orcale】------- Orcale 实现中文转拼音/缩写大小写/全拼音大小写

    1.需要在orcale里面导入一下sql; oracle汉字转拼音 ORACLE中文转拼音缩写.sql(35.9 KB) 链接:https://pan.baidu.com/s/12hGCAzT5YTm ...

  5. java汉字转换为拼音首字母

    使用 pinyin4j 2.5.0.jar 进行解决.封装了一个工具类 package com.util;import net.sourceforge.pinyin4j.PinyinHelper; i ...

  6. java汉字转换为拼音

    java实现汉字转换拼音可以利用pinyin4j实现 1.加jar包: <dependency><groupId>com.belerweb</groupId>< ...

  7. java 中文转成_Java实现汉字转换为拼音 [转]

    代码说明: Java实现汉字转换为拼音的GUI版本. GUI代码部分: /** * @(#)CnToSpellGUI.java * kindani * 2004-10-25?? * */ import ...

  8. java 汉字转换全拼、首字母拼音

    最近接到需求,要求商城中进行半模糊搜索时,输入拼音字母同样要求进行自动匹配出相关品牌.类目.关键词等数据,从而进行筛选商品 本片内容只记录汉字转换拼音 方案一:在mysql数据库中编写函数,此方法存在 ...

  9. java 实现汉字转换拼音_Java实现汉字转换为拼音

    # re: Java实现汉字转换为拼音 2006-11-24 15:06 芦苇 JAVA将汉字转化成拼音的方法 /** *//** ################################## ...

最新文章

  1. R语言ggplot2可视化(facet图)使得第一个子图的坐标轴范围一致
  2. mysql给数据做排名_mysql给数据统计做排名
  3. 【设计模式】策略模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
  4. strstr c语言字符串,C字符串处理strstr, strindex
  5. micropython开发idethonny_ESP32 Micropython开发利器Thonny IDE介绍
  6. android 显示进度的按钮
  7. android 手势事件 重写,Android实现通过手势控制图片大小缩放的方法
  8. sunday java_Sunday算法:最快的字符串匹配算法
  9. 求数组中数对的最大值
  10. **print('人生苦短 我爱Python')**
  11. 技术动态 | 知识可视化,连接和探究知识之间的联系!
  12. gensim将python dict字典形式的词向量导入到word2vec模型(同时适合gensim4.0+版本)
  13. Spring实战基础1
  14. ArcGIS学习总结(15)——影像空缺值蚕食填充批处理(Nibble)
  15. 宠物商店管理系统php,宠物店管理系统
  16. 【Redis】Redis各个版本的下载安装教程
  17. 新手如何建立网站,网站建设的几个步骤。
  18. 在网络世界中我们该如何保护我们的信息安全?
  19. Python保留指定位数的小数
  20. 实现一个数据流中,随时可以取得中位数

热门文章

  1. 1. 空中手写字符识别(手指)
  2. 计算机给文字填充颜色,word2010画图板给部分区域添加颜色 word怎么填充区域颜色...
  3. PLC和单片机的区别
  4. linux自己制作卸载u盘程序,linux挂载和卸载U盘
  5. 听听八年阿里架构师怎样讲述Dubbo和Spring Cloud微服务架构
  6. openoffice安装
  7. 2021-2027全球与中国单相电能表市场现状及未来发展趋势
  8. android studio build variants,Android studio构建App的不同variants和types
  9. 关于应用~试玩,你想知道的都在这儿了----超详细总结(下篇)
  10. QQ浏览器怎么调整HTML5,QQ浏览器怎么设置默认浏览器