StringUtils工具
ppublic class StringUtils { private StringUtils() {
} /**
* 文本左边补零
*
* @param maxLength 文本长度
* @param str
* @return
*/
public static String leftCoverFormat(int maxLength, Integer str) {
String value = "";
try {
// 得到一个NumberFormat的实例
NumberFormat nf = NumberFormat.getInstance();
// 设置是否使用分组
nf.setGroupingUsed(false);
// 设置最大整数位数
nf.setMaximumIntegerDigits(maxLength);
// 设置最小整数位数
nf.setMinimumIntegerDigits(maxLength);
value = nf.format(str);
} catch (Exception ex) {
log.error("fl.ec.product.common.utils.leftCoverFormat错误", ex);
}
return value;
} /**
* 判断对象是否为空,如果为空返回true,否则返回false
*
* @param object
* @return
*/
public static final boolean isEmpty(final Object object) {
if (object == null) {
return true;
}
if (object instanceof List && ((List) object).size() <=0){
return true;
}
return false;
} /**
* 判断字符串是否为空,如果为空返回true,否则返回false
*
* @param str
* @return
*/
public static final boolean isEmpty(final String str) {
if (str == null || str.trim().length() < 1) {
return true;
}
return false;
} /**
* 判断字符串是否为空,如果不为空返回true,否则返回false
*
* @param object
* @return
*/
public static final boolean isNotEmpty(final Object object) {
if (object == null) {
return false;
}
if (object instanceof List && ((List) object).size() <=0){
return false;
}
return true;
} /**
* 判断字符串是否为空,如果不为空返回true,否则返回false
*
* @param str
* @return
*/
public static final boolean isNotEmpty(final String str) {
if (str == null || str.trim().length() < 1) {
return false;
}
return true;
} /**
* 把null转换成"",如果不为null则转型
*
* @param o
* @return
*/
public static String nullToString(Object o) {
String s = "";
return o != null ? String.valueOf(o) : s;
} /**
* 功能说明:去掉字符串2端空格或空白。如果参数字符串为null,那么返回结果为空白字符串,即"";
*
* @param s 需要过滤的字符串
* @return
*/
public static String trim(String s) {
return s == null ? "" : s.trim();
} /**
* Function: splitString<BR>
* Description: 此方法用于拼接sql in <BR>
*
* @param str 需要传入的字符串 id,id,id, 或 id,id
* @param type 需要截取的符号 比如:","
* @return 'id','id' 如果没截取出来就会返回:''
*/
public static String splitString(String str, String type) {
String sql = " ";
StringBuffer sbf = new StringBuffer();
if (!StringUtils.isEmpty(str) && !StringUtils.isEmpty(type)) {
String[] ids = str.split(type);
for (int i = 0; i < ids.length; i++) {
if (ids.length == (i + 1)) {
sbf.append("'").append(ids[i]).append("'");
} else {
sbf.append("'").append(ids[i]).append("'").append(",");
}
}
sbf.append(" ");
} else {
sbf.append("''");
}
return sbf.toString(); } /**
* 字母变小写
*/
public static String firstCharToLowerCase(String str) {
Character firstChar = str.charAt(0);
String tail = str.substring(1);
str = Character.toLowerCase(firstChar) + tail;
return str;
} /**
* 首字母变大写
*/
public static String firstCharToUpperCase(String str) {
Character firstChar = str.charAt(0);
String tail = str.substring(1);
str = Character.toUpperCase(firstChar) + tail;
return str;
} /**
* 替换身份证号
*
* @param idCardNo
* @return
* @author
*/
public static String replaceIdCardNo(String idCardNo) {
// 校验原字符串与替换字符串是否为空,其一为空则返回原字符串
if (!isNotEmpty(idCardNo)) {
return idCardNo;
}
String tmp = idCardNo.substring(6, idCardNo.length() - 4);
String rep = "";
for (int i = 0; i < tmp.length(); i++) {
rep += "*";
}
return idCardNo.replace(tmp, rep);
} /**
* 替换字符中的表情符号
*
* @param source
* @param target
* @return
*/
public static String filterEmoji(String source, String target) {
if (StringUtils.isEmpty(source)) {
return source;
}
Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]", Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
Matcher emojiMatcher = emoji.matcher(source);
if (emojiMatcher.find()) {
source = emojiMatcher.replaceAll(target);
return source;
}
return source;
} /**
* 判断字符是否有表情符号
*
* @param source
* @return
*/
public static boolean isContainEmoji(String source) {
if (StringUtils.isEmpty(source)) {
return false;
}
Pattern emoji = Pattern.compile("[\ud83c\udc00-\ud83c\udfff]|[\ud83d\udc00-\ud83d\udfff]|[\u2600-\u27ff]", Pattern.UNICODE_CASE | Pattern.CASE_INSENSITIVE);
Matcher emojiMatcher = emoji.matcher(source);
if (emojiMatcher.find()) {
return true;
}
return false;
} /**
* 手机号加密显示
*
* @param mobile
* @param replaceChar
* @return
*/
public static String setMobile(String mobile, String replaceChar) {
if (mobile.length() < 11) {
return mobile;
}
return mobile.substring(0, 3).concat(replaceChar).concat(replaceChar).concat(replaceChar).concat(replaceChar).concat(mobile.substring(7));
} /**
* 把数组转换成set
*
* @param array
* @return
*/
public static Set<?> array2Set(Object[] array) {
Set<Object> set = new TreeSet<Object>();
for (Object id : array) {
if (null != id) {
set.add(id);
}
}
return set;
}
}
StringUtils工具的更多相关文章
- Spring的StringUtils工具类
本文是转载文章,感觉比较好,如有侵权,请联系本人,我将及时删除. 原文网址:<Spring的StringUtils工具类> org.springframework.util.StringU ...
- StringUtils工具类常用方法汇总2(截取、去除空白、包含、查询索引)
在上一篇中总结了StringUtils工具类在判断字符串为空,大小写转换,移除字符或字符序列,替换,反转,切割合并等方面的方法,这次再汇总一下其它常用的方法. 一.截取 StringUtils ...
- StringUtils工具类常用方法汇总1(判空、转换、移除、替换、反转)
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方 ...
- StringUtils工具类常用方法
前言:工作中看到项目组里的大牛写代码大量的用到了StringUtils工具类来做字符串的操作,便学习整理了一下,方便查阅. isEmpty(String str) 是否为空,空格字符为false is ...
- StringUtils工具类常用方法汇总(判空、转换、移除、替换、反转)
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总 ...
- 基于StringUtils工具类的常用方法介绍(必看篇)
前言:工作中看到项目组里的大牛写代码大量的用到了StringUtils工具类来做字符串的操作,便学习整理了一下,方便查阅. isEmpty(String str) 是否为空,空格字符为false is ...
- spring util包 StringUtils工具类中的isEmpty() 方法解析
今天在公司看到同事写的代码,无意发现在判断字符串类型时,使用的是StringUtils工具类中的isEmpty()去判断如下所示 @RequestMapping(value = "/pub/ ...
- StringUtils工具类常用方法汇总:判空、转换、移除、替换、反转。
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总 ...
- 通过CollectionUtils工具类判断集合是否为空,通过StringUtils工具类判断字符串是否为空
通过CollectionUtils工具类判断集合是否为空 先引入CollectionUtils工具类: import org.apache.commons.collections4.Collectio ...
- 利用StringUtils工具类进行String为空的判断
利用工具类进行String类型数据的非空判断,让自己的项目代码变得更加的简洁明了. 判断某字符串是否为空,为空的标准是 str==null 或 str.length()==0 下面是 St ...
随机推荐
- Java Heap and Stack
Heap(堆)(FIFO): heap是一个运行时数据区, 类的对象从中分配空间.这些对象通过new.newarray.anewarray和multianewarray等指令建立,它们不需要程序代码来 ...
- (转)简单的RPC java实现 .
转:http://blog.csdn.net/jackliang55/article/details/7580563 我也承认,RPC的名声大噪之时是在2003年,那一个“冲击波”病毒(Blaster ...
- 2019 牛客多校第六场 B Shorten IPv6 Address
题目链接:https://ac.nowcoder.com/acm/contest/886/B 题目大意 给定一个 128 位的二进制 ip 地址,让你以 16 位一组,每组转成 16 进制,用冒号连接 ...
- CodeForces 1152E Neko and Flashback
题目链接:http://codeforces.com/problemset/problem/1152/E 题目大意 有一个 1~n-1 的排列p 和长度为 n 的数组 a,数组b,c定义如下: b:b ...
- docker 使用网络以及容器互联
[root@docker01 /]# docker run -d -p : --name web training/webapp ####小p ,容器的5000端口随机映射到宿主机的9999端口 se ...
- HDU 5726 线段树+dp
题意:给出一个序列,后q次询问,求给定区间gcd及整个序列有多少个序列的gcd和这个值相同 首先线段树维护区间gcd建树,之后预处理出每个gcd有多少个子序列,这时需要dp, dp[i][tmp]表示 ...
- C#& Screen 类&(&多&屏&幕&开&发)
原文:C#& Screen 类&(&多&屏&幕&开&发) Screen 类 下面的代码示例演示如何使用 Screen 类的各种方法和属性. 该示 ...
- 免费的高分辨率图库——re:splashed 可用做网页背景、设计或桌面壁纸
想找高清图片用作网站背景.设计或桌面壁纸?可以去re:splashed看看.re:splashed 是一个提供免费高分辨率HD图片的网站,有多种分类标签,查找很方便,无需注册和登陆便可下载. 网站名称 ...
- [转载]ConcurrentHashMap之实现细节
http://www.iteye.com/topic/344876 ConcurrentHashMap是Java 5中支持高并发.高吞吐量的线程安全HashMap实现.在这之前我对Concurrent ...
- iOS开发系列-常见离线存储方式
概述 在很多社交App手机在手机没有网络时,重新启动应用,依然能否展示上次访问的数据,提高用户体验,这个就是离线数据存储的运用场景.在iOS开发中常见的离线存储技术有Plist存储.个人偏好存储.解归 ...