- 浏览: 218404 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
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 4688把 C:\Program Files (x86)\JetBra ... -
activemq Unrecognized Windows Sockets error: 10106: Socket creation failed
2018-01-16 17:27 84930-Nov-2017 22:45:52.892 严重 [ma ... -
Twitter的分布式自增ID算法snowflake (Java版)
2017-04-06 10:59 471概述 分布式系统中, ... -
gd总结20170104
2017-01-04 12:13 3001:tree获取选中的值,天窗项目-告警列表 $(functi ... -
java调优20161229
2016-12-29 20:03 3991:尽量减少对变量的重复计算 明确一个概念,对方法的调用,即 ... -
java2,8,10,16进制转换
2016-12-19 19:34 457A、十进制转换其他 十进制转成二进制 Integ ... -
java 修饰符
2016-12-06 22:20 368Java中共有四种访问限制修饰符:private,public ... -
java集合总结20161203
2016-12-03 15:26 4901:list 有序集合,元素 ... -
java常用集合总结
2016-12-03 14:55 491java常用集合总结 1、线程安全 线程安全就是说多线程访 ... -
设计模式总结1
2016-12-03 14:50 5511:像上转型================= 1.1定义抽象 ... -
java IO流学习总结
2016-11-11 17:54 424Java中的流,可以从不同 ... -
JAVA泛型
2016-11-08 23:00 498泛型就是变量类型的参数化。在使用泛型前,存入集合中的元素可以是 ... -
Java常见集合的归纳总结
2016-11-08 21:58 459Java常见集合的归纳总结 首先来看看集合的关系: C ... -
maven总结20160925
2016-09-25 09:45 6411:安装后查看maven版本 mvn -version(或者 ... -
HTTP请求原理介绍
2016-09-20 19:19 576HTTP(HyperText Transfer Protoco ... -
post和get的区别
2016-09-10 22:35 3961. get是从服务器上获取数据,post是向服务器传送数据。 ... -
mysql 生成一个临时日历表
2016-08-26 13:32 915begin declare indexdate DATE; s ... -
tomcat内存设置
2016-08-18 17:46 331tomcat内存设置 -------------------- ... -
页面图表显示
2016-08-05 11:15 5221:百度echarts http://echarts.baid ... -
java list 对象 值 排序
2016-07-29 14:41 676/** * 排序算法 */ public stati ...
相关推荐
赠送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是一个功能强悍的汉语拼音工具包,是sourceforge.net上的一个开源项目。 包里面有 pinyin4j.zip pinyin4j.jar 两种
Pinyin4j的基本用法 1. 简单介绍 有时候,需要将汉字编程对应的拼音,以方便数据的处理。比如在Android手机应用的开发上,要查询联系人的姓名,通常都是用拼音进行查询的。比如要查询“曹孟德”,就可以输入“cmd”...
网上下载的pinyin4j-2.5.0的jar包引入项目中,但是打包时出现了烦人的错误警告,如:com.hp.hpl.sparta.Node$1 that doesn’t come with an xxxxxx,com.hp.hpl.sparta.Sparta等。 其实不影响项目的正常使用,但是...
pinyin4j-2.5.1.jar、汉字转拼音 pinyin4j-2.5.1.jar、汉字转拼音 pinyin4j-2.5.1.jar、汉字转拼音
pinyin4j(解决多音字问题源码),pinyin4j源码没有解决多音字的问题,这是一个解决能解决多音字的pinyin4j源码,但是里面的词库不是很全,你可以根据自己的需要进行添加。
Java pinyin4j.jar中文转拼音 详细可查看我的博客https://me.csdn.net/Extraordinarylife 中《Java pinyin4j.jar中文转拼音 》
pinyin4j最新jar包,包含反编译过的jar包源码文件,使用说明必看.
pinyin4j 工具类的jar包,基于maven的配置 <groupId>net.sourceforge.pinyin4j</groupId> <artifactId>pinyin4j <version>2.5.0 pinyin4j-2.5.0.jar pinyin4j-2.5.0.pom
PinYin4jUtils PinYin4j使用案例
pinyin4j-2.5.0.jar PinYin4jUtils.java PinYin4jUtils.java
Java中,汉语转换成拼音的jar包。放到项目下,直接引用pinyin4j-2.5.0.jar就行。或者直接放到maven本地资源文件下解压压缩包直接再项目配置文件中引用。
pinyin4j-2.5.0.jar
pinyin4j-2.5.0.jar用于将汉字转拼音,用于实际项目汉字排序、汉字分类等功能
Pinyin4j的基本用法 - 玄机逸士的专栏 - 博客频道 - CSDN.NET.html )
Pinyin4j是一个流行的Java库,支持中文字符和拼音之间的转换,拼音输出格式可以定制,在项目中经常会遇到需求用户输入汉字后转换为拼音的场景,这时候Pinyin4j就可以派上用场