StringUtils工具类
StringUtils源码,使用的是commons-lang3-3.1包。
下载地址 http://commons.apache.org/lang/download_lang.cgi
以下是StringUtils的各项用法
1.空字符串检查
使用函数:StringUtils.isBlank(testString)
函数介绍: 当testString为空,长度为零或者仅由空白字符(whitespace)组成时,返回True;否则返回False
例程:
System.out.println(StringUtils.isBlank(""));//true
System.out.println( StringUtils.isBlank("\n\n\t") );//true
System.out.println( StringUtils.isBlank(null) );//true
函数StringUtils.isNotBlank(testString)的功能与StringUtils.isBlank(testString)相反.
2.清除空白字符(String.trim())
使用函数: StringUtils.trimToNull(testString)
函数介绍:清除掉testString首尾的空白字符,如果仅testString全由空白字符(whitespace)组成则返回null
例程:
System.out.println( StringUtils.trimToNull("\t") );//null
System.out.println( StringUtils.trimToNull(" A Test ") );//A Test
System.out.println( StringUtils.trimToNull(null) );//null
注意:函数StringUtils.trim(testString)与StringUtils.trimToNull(testString)功能类似,但testString由空白字符(whitespace)组成时返回零长度字符串。
3.截取字符串(String.subString())
使用函数: StringUtils.abbreviate(testString,width)和StringUtils.abbreviate(testString,offset,width)
函数介绍:在给定的width内取得testString的缩写,当testString的长度小于width则返回原字符串.
例程:
String test = "This is a test of the abbreviation.";
System.out.println( StringUtils.abbreviate( test, 15 ) );//This is a te...
System.out.println( StringUtils.abbreviate( test, 5,15 ) );//...is a test...
System.out.println( StringUtils.abbreviate( "Test", 10 ) );//Test
4.拆分字符串(String.split)
使用函数: StringUtils.split(testString,splitChars,arrayLength)
函数介绍:splitChars中可以包含一系列的字符串来劈分testString,并可以设定得到数组的长度.注意设定长度arrayLength和劈分字符串间有抵触关系,建议一般情况下不要设定长度.
例程:
String input = "A b,c.d|e";
String input2 = "Pharmacy, basketball funky";
String[] array1 = StringUtils.split( input, " ,.|");//{A,b,c,d,e}
String[] array2 = StringUtils.split( input2, " ,", 2 );//{Pharmacy,basketball funky}
5.查找嵌套字符串
使用函数:StringUtils.substringBetween(testString,header,tail)
函数介绍:在testString中取得header和tail之间的字符串。不存在则返回空
例程:
String htmlContent = "ABC1234ABC4567";
System.out.println(StringUtils.substringBetween(htmlContent, "1234", "4567"));//ABC
System.out.println(StringUtils.substringBetween(htmlContent, "12345", "4567"));//null
6.去除尾部换行符
使用函数:StringUtils.chomp(testString)
函数介绍:去除testString尾部的换行符
例程:
String input = "Hello\n";
System.out.println( StringUtils.chomp( input ));//Hello
String input2 = "Another test\r\n";
System.out.println( StringUtils.chomp( input2 ));//Another test
7.重复字符串
使用函数:StringUtils.repeat(repeatString,count)
函数介绍:得到将repeatString重复count次后的字符串
例程:
System.out.println( StringUtils.repeat( "China ", 5));//China China China China China
其他函数:
StringUtils.center( testString, count,repeatString );把testString插入将repeatString重复多次后的字符串中间,得到总长为count的字符串
StringUtils.center(String str, int size); 默认以空格填充
StringUtils.leftPad(String str,int size); 左侧空格填充
StringUtils.leftPad(String str,int size,String padStr);左侧字符串填充
StringUtils.rightPad(String str,int size); 左侧空格填充
StringUtils.rightPad(String str,int size,String padStr);左侧字符串填充
例程:
System.out.println( StringUtils.center( "China", 11,"*"));//***China***
StringUtils.leftPad("abc", 10, "*");//*******abc
8.颠倒字符串顺序
使用函数:StringUtils.reverse(testString)
函数介绍:得到testString中字符颠倒后的字符串
例程:
System.out.println( StringUtils.reverse("ABCDE"));//EDCBA
9.判断字符串内容的类型
函数介绍:
StringUtils.isNumeric( testString ) :如果testString全由数字组成返回True
StringUtils.isAlpha( testString ) :如果testString全由字母组成返回True
StringUtils.isAlphanumeric( testString ) :如果testString全由数字或数字组成返回True
StringUtils.isAlphaspace( testString ) :如果testString全由字母或空格组成返回True
StringUtils.isAlphanumericSpace(String str);如果testString全由字母数字和空格组成返回True
StringUtils.isNumericSpace(String str);如果testString全由数字和空格组成返回True
例程:
String state = "Virginia";
System.out.println( StringUtils.isNumeric(state ) );//false
System.out.println( StringUtils.isAlpha( state ) );//true
System.out.println( StringUtils.isAlphanumeric( state ) );//true
System.out.println( StringUtils.isAlphaSpace( state ) );//true
10.取得某字符串在另一字符串中出现的次数
使用函数:StringUtils.countMatches(testString,seqString)
函数介绍:取得seqString在testString中出现的次数,未发现则返回零
例程:
System.out.println(StringUtils.countMatches( "Chinese People", "e" ));//4
11.部分截取字符串
使用函数:
StringUtils.substringBetween(testString,fromString,toString ):取得两字符之间的字符串
StringUtils.substringAfter( ):取得指定字符串后的字符串
StringUtils.substringBefore( ):取得指定字符串之前的字符串
StringUtils.substringBeforeLast( ):取得最后一个指定字符串之前的字符串
StringUtils.substringAfterLast( ):取得最后一个指定字符串之后的字符串
例程:
String formatted = " 25 * (30,40) [50,60] | 30";
System.out.print(StringUtils.substringBeforeLast( formatted, "*" ));//25
System.out.print(StringUtils.substringBetween( formatted, "(", "," ));//30
System.out.print(StringUtils.substringBetween( formatted, ",", ")" ));//40
System.out.print(StringUtils.substringBetween( formatted, "[", "," ));//50
System.out.print(StringUtils.substringBetween( formatted, ",", "]" ));//40) [50,60
System.out.print(StringUtils.substringAfterLast( formatted, "|" ));//30
12. 缩进字符串:
StringUtils.abbreviate(String str, int maxWidth) 缩进字符串,第二个参数至少为4(包括...)
例程:
StringUtils.abbreviate("abcdefg", 20);//abcdefg (正常显示)
StringUtils.abbreviate("abcdefg", 4);//a...
13. 首字母大写:
StringUtils.capitalize(String str) 首字母大写
StringUtils.uncapitalize(String str)首字母小写
例程:
StringUtils.capitalize("abcdefg");//Abcdefg
14. 是否全是大写,是否全是小写(3.0版本)
StringUtils.isAllLowerCase(String str);//是否全是大写
StringUtils.isAllUpperCase(String str);//是否全是小写
例程:
StringUtils.isAllLowerCase("abC");//false
15. 大小写转换,空格不动
StringUtils.swapCase(String str);//大小写转换
例程:
StringUtils.swapCase("I am a-A*a")//i AM A-a*A
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 ...
随机推荐
- 1Z0-053 争议题目解析697
1Z0-053 争议题目解析697 考试科目:1Z0-053 题库版本:V13.02 题库中原题为: 697.Which statement is true about a Scheduler-gen ...
- 重温Servlet学习笔记--Cookie对象
首先要了解cookie必须得先了解http协议,,Cookie是http协议指定的,先由服务器保存cookie到浏览器,在下次浏览器请求服务器时把上次请求得到的cookie归还给服务器,cookie以 ...
- mciSendString 的两个小坑
刚刚修正了自己用的小闹钟的代码. 坑1:REPEAT 选项的作用范围 原来用得好好的,之后选择 .wav 文件,居然不出声音了…… 诶,MCI 肯定支持 .wav 的啊…… 仔细想想,我以前都是选 . ...
- Node.js连接Mysql,并把连接集成进Express中间件中
引言 在node.js连接mysql的过程,我们通常有两种连接方法,普通连接和连接池. 这两种方法较为常见,当我们使用express框架时还会选择使用中间express-myconnection,可以 ...
- 深入理解javascript原型和闭包系列
从下面目录中可以看到,本系列有16篇文章,外加两篇后补的,一共18篇文章.写了半个月,从9月17号开始写的.每篇文章更新时,读者的反馈还是可以的,虽然不至于上头条,但是也算是中规中矩,有看的人,也有评 ...
- 实际案例:在现有代码中通过async/await实现并行
一项新技术或者一个新特性,只有你用它解决实际问题后,才能真正体会到它的魅力,真正理解它.也期待大家能够多分享解一些解决实际问题的内容. 在我们遭遇“黑色30秒”问题的过程中,切身体会到了异步的巨大作用 ...
- System.Security.Cryptography.CryptographicException,密钥集不存在
非常感谢,已经解决了.是当前用户没有权限访问证书的私钥文件的问题,之前尝试去解决,但是在对:C:\Documents and Settings\All Users\Application Data\M ...
- EF架构~EF异步改造之路~让DbContextRepository去实现异步接口
回到目录 返回异步与并行目录 上一讲中,我们定义了三个异步操作接口,这回我们将对它进行实现,而有一个基础知识需要大家清楚,那就是实现接口的方式,一般我们使用默认的方式(隐式实现),这种方法实现的接口方 ...
- nginx root和alias指令的区别
# alias location /js/{ alias /static/;}#上述配置,访问/js/目录的时候,nginx自动会去找/static/下面的文件 # rootlocation /js/ ...
- 解决jdk1.8上编译dubbo失败
首先从https://github.com/alibaba/dubbo/archive/master.zip下载最新源码,目前最新版本为2.5.4-SNAPSHOT. 我使用的是JDK 1.8.0_0 ...