- 浏览: 231190 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
hl174:
写的不错,赞一个
在Java中字节与十六进制的相互转换主要思想有两点 -
l540151663:
也是个好方法
String为空判断
package cn.com.iotrust.common.util;
import org.apache.commons.lang.StringUtils;
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 Pinyin4jUtil {
/**
* 转为大写字母, 如:中国人民银行 =====>ZHONGGUORENMINYINHAN
* @author lance
* 2016年1月16日 下午4:56:07
*/
public static String convertUpper(String text){
return convert(text, HanyuPinyinCaseType.UPPERCASE, false);
}
/**
* 转为小写字母, 如:中国人民银行 =====>zhongguorenminyinhang
* @author lance
* 2016年1月16日 下午4:56:07
*/
public static String convertLower(String text){
return convert(text, HanyuPinyinCaseType.LOWERCASE, false);
}
/**
* 首字母大写, 如:中国人民银行 =====>ZhongGuoRenMinYinHang
* @author lance
* 2016年1月16日 下午5:04:11
*/
public static String converCapitalize(String text){
return convert(text, null, true);
}
/**
* 所有中文的第一个字母大写, 如:中国人民银行 =====>ZGRMYH
* @author lance
* 2016年1月17日 下午10:16:19
*/
public static String capitalizeLetter(String text){
String c = converCapitalize(text);
if(StringUtils.isBlank(c)) {
return "";
}
return c.replaceAll("[a-z]", "");
}
/**
* 获取首字母, 如:中国人民银行 =====>Z
* @author lance
* 2016年1月17日 下午10:11:57
*/
public static String firstLetter(String text){
String c = converCapitalize(text);
if(StringUtils.isBlank(c)) {
return "";
}
return StringUtils.substring(c, 0, 1);
}
/**
* 转为拼音
* @param text 待转化的中文字符
* @param caseType 转化类型, 即大写小写
* @param isCapitalize 是否首字母大写
* @author lance
* 2016年1月17日 下午10:28:05
*/
public static String convert(String text, HanyuPinyinCaseType caseType, boolean isCapitalize) {
if(StringUtils.isBlank(text)){
return "";
}
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
if(caseType != null) {
format.setCaseType(caseType);
isCapitalize = false;
}
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
char[] input = StringUtils.trimToEmpty(text).toCharArray();
StringBuilder builder = new StringBuilder();
try {
for (char c: input) {
if (Character.toString(c).matches("[\\u4E00-\\u9FA5]+")) {
String[] temp = PinyinHelper.toHanyuPinyinStringArray(c, format);
if(isCapitalize) {
builder.append(StringUtils.capitalize(temp[0]));
}else {
builder.append(temp[0]);
}
} else {
if(isCapitalize) {
builder.append(StringUtils.capitalize(Character.toString(c)));
}else {
builder.append(Character.toString(c));
}
}
}
} catch (BadHanyuPinyinOutputFormatCombination ex) {
ex.printStackTrace();
}
return builder.toString();
}
}
import org.apache.commons.lang.StringUtils;
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 Pinyin4jUtil {
/**
* 转为大写字母, 如:中国人民银行 =====>ZHONGGUORENMINYINHAN
* @author lance
* 2016年1月16日 下午4:56:07
*/
public static String convertUpper(String text){
return convert(text, HanyuPinyinCaseType.UPPERCASE, false);
}
/**
* 转为小写字母, 如:中国人民银行 =====>zhongguorenminyinhang
* @author lance
* 2016年1月16日 下午4:56:07
*/
public static String convertLower(String text){
return convert(text, HanyuPinyinCaseType.LOWERCASE, false);
}
/**
* 首字母大写, 如:中国人民银行 =====>ZhongGuoRenMinYinHang
* @author lance
* 2016年1月16日 下午5:04:11
*/
public static String converCapitalize(String text){
return convert(text, null, true);
}
/**
* 所有中文的第一个字母大写, 如:中国人民银行 =====>ZGRMYH
* @author lance
* 2016年1月17日 下午10:16:19
*/
public static String capitalizeLetter(String text){
String c = converCapitalize(text);
if(StringUtils.isBlank(c)) {
return "";
}
return c.replaceAll("[a-z]", "");
}
/**
* 获取首字母, 如:中国人民银行 =====>Z
* @author lance
* 2016年1月17日 下午10:11:57
*/
public static String firstLetter(String text){
String c = converCapitalize(text);
if(StringUtils.isBlank(c)) {
return "";
}
return StringUtils.substring(c, 0, 1);
}
/**
* 转为拼音
* @param text 待转化的中文字符
* @param caseType 转化类型, 即大写小写
* @param isCapitalize 是否首字母大写
* @author lance
* 2016年1月17日 下午10:28:05
*/
public static String convert(String text, HanyuPinyinCaseType caseType, boolean isCapitalize) {
if(StringUtils.isBlank(text)){
return "";
}
HanyuPinyinOutputFormat format = new HanyuPinyinOutputFormat();
if(caseType != null) {
format.setCaseType(caseType);
isCapitalize = false;
}
format.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
format.setVCharType(HanyuPinyinVCharType.WITH_V);
char[] input = StringUtils.trimToEmpty(text).toCharArray();
StringBuilder builder = new StringBuilder();
try {
for (char c: input) {
if (Character.toString(c).matches("[\\u4E00-\\u9FA5]+")) {
String[] temp = PinyinHelper.toHanyuPinyinStringArray(c, format);
if(isCapitalize) {
builder.append(StringUtils.capitalize(temp[0]));
}else {
builder.append(temp[0]);
}
} else {
if(isCapitalize) {
builder.append(StringUtils.capitalize(Character.toString(c)));
}else {
builder.append(Character.toString(c));
}
}
}
} catch (BadHanyuPinyinOutputFormatCombination ex) {
ex.printStackTrace();
}
return builder.toString();
}
}
- pinyin4j.jar (184.5 KB)
- 下载次数: 0
发表评论
-
Connected to the target VM, address: '127.0.0.1:52445', transport: 'socket' 错误:
2018-01-16 17:23 4771把 C:\Program Files (x86)\JetBra ... -
activemq Unrecognized Windows Sockets error: 10106: Socket creation failed
2018-01-16 17:27 95930-Nov-2017 22:45:52.892 严重 [ma ... -
Twitter的分布式自增ID算法snowflake (Java版)
2017-04-06 10:59 552概述 分布式系统中, ... -
gd总结20170104
2017-01-04 12:13 3391:tree获取选中的值,天窗项目-告警列表 $(functi ... -
java调优20161229
2016-12-29 20:03 4431:尽量减少对变量的重复计算 明确一个概念,对方法的调用,即 ... -
java2,8,10,16进制转换
2016-12-19 19:34 501A、十进制转换其他 十进制转成二进制 Integ ... -
java 修饰符
2016-12-06 22:20 408Java中共有四种访问限制修饰符:private,public ... -
java集合总结20161203
2016-12-03 15:26 5171:list 有序集合,元素 ... -
java常用集合总结
2016-12-03 14:55 536java常用集合总结 1、线程安全 线程安全就是说多线程访 ... -
设计模式总结1
2016-12-03 14:50 5841:像上转型================= 1.1定义抽象 ... -
java IO流学习总结
2016-11-11 17:54 463Java中的流,可以从不同 ... -
JAVA泛型
2016-11-08 23:00 541泛型就是变量类型的参数化。在使用泛型前,存入集合中的元素可以是 ... -
Java常见集合的归纳总结
2016-11-08 21:58 504Java常见集合的归纳总结 首先来看看集合的关系: C ... -
maven总结20160925
2016-09-25 09:45 6741:安装后查看maven版本 mvn -version(或者 ... -
HTTP请求原理介绍
2016-09-20 19:19 618HTTP(HyperText Transfer Protoco ... -
post和get的区别
2016-09-10 22:35 4341. get是从服务器上获取数据,post是向服务器传送数据。 ... -
mysql 生成一个临时日历表
2016-08-26 13:32 1010begin declare indexdate DATE; s ... -
tomcat内存设置
2016-08-18 17:46 371tomcat内存设置 -------------------- ... -
页面图表显示
2016-08-05 11:15 5631:百度echarts http://echarts.baid ... -
java list 对象 值 排序
2016-07-29 14:41 741/** * 排序算法 */ public stati ...
相关推荐
《Pinyin4j:汉字拼音处理的利器》 在信息技术高速发展的今天,中文与英文的交互日益频繁,尤其是在编程和数据分析领域,将汉字转化为拼音的需求日益凸显。Pinyin4j便是一个专门解决这一问题的强大工具,它是一个...
赠送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:Java实现拼音处理的利器》 在Java开发中,有时我们需要处理汉字与拼音之间的转换,比如在搜索引擎优化(SEO)时,将汉字转化为拼音以便于搜索引擎识别,或者在数据库中以拼音进行索引等。pinyin4j就是...
《pinyin4j:解决中文多音字问题的利器》 在中文处理中,多音字是一个常见的挑战。多音字是指一个汉字有多个读音,根据不同的语境和组合,其发音会有所不同。例如,“长”既可以读作“cháng”,也可以读作“zhǎng...
《关于pinyin4j-2.5.1.jar与Java拼音处理库的解析与应用》 在Java开发中,处理中文字符转化为拼音是一项常见的任务,这时我们常常会使用到pinyin4j这个开源库。然而,如果在项目中遇到"The import ...
《pinyin4j-2.5.0.jar:Java与Kotlin中的拼音处理库》 在Java和Kotlin编程中,处理汉字转拼音的需求时有发生,比如在搜索引擎的关键词提取、文本排序或中文输入法的实现等场景。为此,开发者们常常需要借助一些专门...
在这种情况下,`pinyin4j`是一个非常实用的库,能够帮助开发者实现这一功能。`pinyin4j-2.5.0`是该库的一个特定版本,它提供了稳定且高效的汉译拼音服务。 `pinyin4j`库的核心功能是将汉字转换为汉语拼音。这个过程...
《pinyin4j-2.5.0:Java实现的汉语拼音转换库》 在Java开发中,有时候我们需要将汉字转换成对应的汉语拼音,以便进行各种处理,如搜索、排序或者处理多音字问题。这时,`pinyin4j-2.5.0`这个开源库就显得尤为重要。...
《pinyin4j:汉字转拼音的利器》 在信息技术高速发展的今天,处理中文字符,尤其是将汉字转换为拼音的需求日益凸显。pinyin4j,作为一个强大的Java库,专门用于解决这个问题,它使得开发者能够在Java应用程序中轻松...
《pinyin4j:汉字转拼音的利器》 在处理汉字到拼音转换的场景中,pinyin4j是一个不可或缺的工具。它是一个Java库,专为处理汉字转换为拼音而设计,尤其适用于需要进行中文信息处理、搜索引擎优化、或者任何需要汉字...
《pinyin4j:汉字转拼音的利器》 在信息技术高速发展的今天,处理中文字符的需求日益增长,尤其是在软件开发领域。对于Java开发者来说,pinyin4j是一个不可或缺的工具包,它专门用于将汉字转换为拼音,从而解决了...
《pinyin4j-2.5.0.jar:Java实现汉字转拼音的高效工具》 在信息化时代,处理中文字符成为许多开发者的必备技能。在Java编程语言中,pinyin4j是一个非常实用的库,它能将汉字转换为拼音,从而解决了在处理汉字排序、...
《使用pinyin4j库进行中文到拼音转换的详解》 在处理中文字符时,有时我们需要将汉字转换为对应的拼音,以便进行各种文本处理任务,如搜索引擎优化、文本分析或语音合成。在这种情况下,Java开发者可以利用开源库...
《深入理解pinyin4j库及其使用》 在Java编程中,处理中文字符尤其是转换为拼音的任务时常出现。为了高效地解决这个问题,开发者们通常会借助于特定的库,其中pinyin4j就是一个广泛使用的开源工具。本文将详细介绍...
《深入理解pinyin4j-2.5.0:jar包、源码与说明文档解析》 在Java编程中,处理汉字转化为拼音的任务是常见需求,pinyin4j作为一个强大的开源库,为开发者提供了便捷的解决方案。本文将围绕pinyin4j-2.5.0的jar包、...
《pinyin4j-2.5.0.jar:汉字转拼音的神器》 在IT行业中,处理汉字与拼音之间的转换是一项常见的任务,特别是在中文信息处理、搜索引擎优化、数据分析等领域。pinyin4j-2.5.0.jar便是一款强大的Java库,专为解决这个...
《pinyin4j-2.5.0.jar:Java汉字转拼音工具的全面解析与应用》 在Java编程中,处理汉字与拼音的转换是一项常见的任务,尤其在文本处理、搜索索引、拼音输入法等领域。pinyin4j库正是为了解决这一问题而设计的。本文...
《Pinyin4j工具包详解:汉字转拼音的利器》 在处理中文数据时,我们经常需要将汉字转换为拼音,以便进行各种处理,如排序、搜索或建立索引。这时,一个强大的工具包——net.sourceforge.pinyin4j就显得尤为重要。这...
《pinyin4j:中文转拼音的利器》 在信息技术高速发展的今天,处理中文字符的需求日益增长,尤其是在搜索引擎、信息分类、数据分析等领域。对于非汉字字符集的系统来说,中文字符的处理尤为复杂,这就催生了将中文...