apache StringUtils 工具类
// org.apache.commons.lang3.StringUtils // 1.IsEmpty/IsBlank - checks if a String contains text 检查是否为空
boolean empty = StringUtils.isEmpty(""); // 调用cs == null || cs.length() == 0
// System.out.println(empty);
boolean blank = StringUtils.isBlank(" "); // 调用cs == null || cs.length() == 0 和 遍历每个字符Character.isWhitespace(cs.charAt(i))
// System.out.println(blank); // 扩展:isWhitespace() 方法用于判断指定字符是否为空白字符,空白符包含:空格、tab键、换行符。
// http://www.runoob.com/java/character-iswhitespace.html // 2.Trim/Strip - removes leading and trailing whitespace 移除前后空白
String trim = StringUtils.trim(" abc "); // 调用str.trim()
// System.out.println(trim); //"abc"
StringUtils.trimToEmpty(""); // 调用str == null ? "" : str.trim()
StringUtils.trimToNull(""); // 调用 trim(str),再调用isEmpty(ts) String strip = StringUtils.strip("abcdabc", "abc"); // 按指定字符前后截取 ,调用indexOf()和subString()
// System.out.println(strip); //" abc"
// 参考:StringUtils中strip、stripStart、stripEnd剥离方法源码详解
// https://blog.csdn.net/yaomingyang/article/details/79169547 // 3.Equals/Compare - compares two strings null-safe 判断相等/比较
StringUtils.equals("abc", "abc"); // 判断相等,调用==,equals,regionMatches
StringUtils.equalsIgnoreCase("abc", "ABC"); // 判断相等(忽略大小写)
StringUtils.equalsAny("abc", "abc", "def"); // 判断第一个字符与后面任意字符串相等,遍历调用equals判断第一个字符与后面字符是否相等
StringUtils.equalsAnyIgnoreCase("abc", "ABC", "def"); // 判断第一个字符与后面任意字符串相等(忽略大小写) // 扩展:regionMatches() 方法用于检测两个字符串在一个区域内是否相等。
// http://www.runoob.com/java/java-string-regionmatches.html // 4.startsWith - check if a String starts with a prefix null-safe
StringUtils.startsWith("abcdef", "abc"); // true 以什么开头,调用CharSequenceUtils.regionMatches
StringUtils.startsWithIgnoreCase("ABCDEF", "abc"); // true
StringUtils.startsWithAny("abcxyz", new String[] { null, "xyz", "abc" }); // true
StringUtils.startsWithAny("ABCXYZ", null, "xyz", "abc"); // false
// 还可使用: java.lang.String.startsWith
"abcdef".startsWith("abc"); // 5.endsWith - check if a String ends with a suffix null-safe
StringUtils.endsWith("abcdef", "def"); // true
StringUtils.endsWithIgnoreCase("ABCDEF", "def"); // true
StringUtils.endsWithAny("abcxyz", new String[] { null, "xyz", "abc" }); // true // 6.IndexOf/LastIndexOf/Contains - null-safe index-of checks
StringUtils.indexOf("aabaabaa", "ab"); // 1 调用CharSequenceUtils.indexOf
StringUtils.indexOf("aabaabaa", "ab", 0); // 1 从第3位开始查找,"b"首次出现的位置
StringUtils.ordinalIndexOf("aabaabaa", "ab", 1); //
StringUtils.indexOfIgnoreCase("aabaabaa", "AB"); // 1 调用CharSequenceUtils.regionMatches
StringUtils.indexOfIgnoreCase("aabaabaa", "AB", 0); //
StringUtils.lastIndexOf("aabaabaa", "ab"); // 4 调用CharSequenceUtils.lastIndexOf
StringUtils.lastIndexOf("aabaabaa", 'b', 8); //
StringUtils.lastIndexOf("aabaabaa", 'b', 4); //
StringUtils.lastIndexOf("aabaabaa", 'b', 0); // -1
StringUtils.contains("abc", 'a'); // true 调用CharSequenceUtils.indexOf
StringUtils.containsIgnoreCase("abc", "A"); // true
StringUtils.containsWhitespace("1 2"); // true 是否包含空字符,调用Character.isWhitespace
// 还可使用: java.lang.String.indexOf
"aabaabaa".indexOf("ab"); // 7.IndexOfAny/LastIndexOfAny/IndexOfAnyBut/LastIndexOfAnyBut - index-of any of a set of Strings
StringUtils.indexOfAny("aabaabaa", "ab", "a");
StringUtils.indexOfAny("aabaabaa", new char[] { 'a', 'b' });
StringUtils.lastIndexOfAny("aabaabaa", "ab", "a");
StringUtils.indexOfAnyBut("sdsfhhl0", "h");//结果是0 找出字符串中不在字符数组searchars中的第一个字符出现的位置(从0位开始)
StringUtils.indexOfAnyBut("sdsfhhl0", "s");//结果是1
StringUtils.indexOfAnyBut("aa", "aa");//结果是-1 // 8.ContainsOnly/ContainsNone/ContainsAny - does String contains only/none/any of these characters
StringUtils.containsOnly("abab", new char[] { 'a', 'b', 'c' }); // true 检查字符串(参数1)中的字符是否全为字符串(参数2)中的字符的子集.
StringUtils.containsOnly("abab", "abc");
StringUtils.containsAny("zzabyycdxx", new char[] { 'z', 'a' });// true
StringUtils.containsNone("abab", new char[] { 'x', 'y', 'z' }); // true
// 还可使用: java.lang.String.contains
"aabaabaa".contains("ab"); // 调用String.indexOf // 9.Substring/Left/Right/Mid - null-safe substring extractions
StringUtils.substring("abc", 2); // "c" 调用str.substring
StringUtils.substring("abc", 0, 2); // "ab"
StringUtils.left("abc", 2); // "ab"
StringUtils.right("abc", 2); // "bc"
// 还可使用: java.lang.String.substring
"abc".substring(0, 2); // "ab" 调用new String("abc".getBytes(), 0, 2); // 10.SubstringBefore/SubstringAfter/SubstringBetween - substring extraction relative to other strings
StringUtils.substringBefore("abc", "c"); // "ab" 截取指定字符串之前的内容
StringUtils.substringAfter("abc", "a"); // "bc"
StringUtils.substringBeforeLast("abcba", "b"); // "abc" 一直找到最后一个指定的字符串
StringUtils.substringAfterLast("abcba", "b"); // "a"
StringUtils.substringBetween("tagabctag", "tag"); // "abc"
StringUtils.substringBetween("yabczyabcz", "y", "z"); // "abc"
StringUtils.substringsBetween("[a][b][c]", "[", "]"); // ["a","b","c"] // 11.Split/Join - splits a String into an array of substrings and vice versa
StringUtils.split("abc def"); // ["abc", "def"]
StringUtils.split("a.b.c", '.'); // ["a", "b", "c"]
StringUtils.split("ab:cd:ef", ":", 2); // ["ab", "cd:ef"] 2设定返回数组的最大长度
StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-");
StringUtils.join("a", "b", "c"); // "abc"
// 还可使用: java.lang.String.split/join
"ab:cd:ef".split(":");
String.join("a", "b", "c"); // 12.Remove/Delete - removes part of a String
StringUtils.remove("queued", 'u'); // "qeed"
StringUtils.removeAll("A<__>\n<__>B", "<.*>"); // "A\nB"
StringUtils.removeAll("A<__>\n<__>B", "(?s)<.*>"); // "AB"
StringUtils.removeAll("ABCabc123abc", "[a-z]"); // "ABC123"
StringUtils.deleteWhitespace(" ab c "); // "abc" // 13.Replace/Overlay - Searches a String and replaces one String with another
StringUtils.replace("aba", "a", "z"); // "zbz"
StringUtils.replaceIgnoreCase("aba", "A", "z"); // "zbz"
StringUtils.replace("abaa", "a", "z", 1); // "zbaa"
StringUtils.replaceEach("abcde", new String[] { "ab", "d" }, new String[] { "d", "t" }); //"dcte"
StringUtils.overlay("abcdef", "zzzz", 2, 4); // "abzzzzef"
// 还可使用: java.lang.String.replace
"aba".replace("a", "z"); System.out.println(); // 官方文档:https://commons.apache.org/proper/commons-lang/javadocs/api-release/index.html
// jdk文档:http://tool.oschina.net/apidocs/apidoc?api=jdk_7u4
// 参考:https://www.cnblogs.com/linjiqin/p/3425359.html
apache StringUtils 工具类的更多相关文章
- StringUtils工具类常用方法汇总1(判空、转换、移除、替换、反转)
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方 ...
- StringUtils工具类常用方法汇总(判空、转换、移除、替换、反转)
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总 ...
- StringUtils工具类常用方法汇总:判空、转换、移除、替换、反转。
Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的方法总 ...
- 通过CollectionUtils工具类判断集合是否为空,通过StringUtils工具类判断字符串是否为空
通过CollectionUtils工具类判断集合是否为空 先引入CollectionUtils工具类: import org.apache.commons.collections4.Collectio ...
- Spring的StringUtils工具类
本文是转载文章,感觉比较好,如有侵权,请联系本人,我将及时删除. 原文网址:<Spring的StringUtils工具类> org.springframework.util.StringU ...
- StringUtils工具类常用方法汇总2(截取、去除空白、包含、查询索引)
在上一篇中总结了StringUtils工具类在判断字符串为空,大小写转换,移除字符或字符序列,替换,反转,切割合并等方面的方法,这次再汇总一下其它常用的方法. 一.截取 StringUtils ...
- StringUtils工具类常用方法
前言:工作中看到项目组里的大牛写代码大量的用到了StringUtils工具类来做字符串的操作,便学习整理了一下,方便查阅. isEmpty(String str) 是否为空,空格字符为false is ...
- 基于StringUtils工具类的常用方法介绍(必看篇)
前言:工作中看到项目组里的大牛写代码大量的用到了StringUtils工具类来做字符串的操作,便学习整理了一下,方便查阅. isEmpty(String str) 是否为空,空格字符为false is ...
- spring util包 StringUtils工具类中的isEmpty() 方法解析
今天在公司看到同事写的代码,无意发现在判断字符串类型时,使用的是StringUtils工具类中的isEmpty()去判断如下所示 @RequestMapping(value = "/pub/ ...
随机推荐
- [转帖]SAP一句话入门:Plant Maintenance
SAP一句话入门:Plant Maintenance http://blog.vsharing.com/MilesForce/A618273.html PM就是Plant Maintenance(本文 ...
- 【知乎】WinForm 与 WPF的区别
你想上班 那么针对公司需求学如果只是自己写着玩 那么区分一下1.你的程序运行在 自己机器a.一个工具而已 要的是cooooooool 那么WPFb.一个工具而已 要的是useful easy 那么wi ...
- Day 4-1 模块的导入方法和路径
什么是模块? 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文件包含的代码 ...
- w3c JS测试
到W3c的js测试里面溜达了一圈: 做错了几道题: 外部脚本必须包含<script>标签吗? 否!! 这里的外部脚本是指xx.js这个文件,在文件中写js代码是不需要包含script标签的 ...
- scala mkstring
如果你想要把集合元素转化为字符串,可能还会添加分隔符,前缀,后缀. Solution 使用mkString方法来打印一个集合内容,下面给一个简单的例子: scala> val a = Array ...
- RDD
scala> val rdd1=sc.parallelize(Array("coffe","coffe","hellp"," ...
- python之路--while, 格式化输出, 编码
一 . while循环 while 条件: 循环体(break, continue) while True: content = input('你想对我说什么:,输入你最帅退出') if conten ...
- Flask从入门到精通
1. flask的下载和安装 在windows下安装flask flask依赖于两个库, 即werkzeug 和jinja2 , werkzeug负责服务器的部署, jinja2负责模板引擎,管理安装 ...
- PDO访问Mysql数据库
$dsn = 'mysql:host=127.0.0.1;dbname=myblog'; $username = 'root'; $pwd = '; $pdo = new PDO($dsn,$user ...
- JQuery Datatable用法
原文出处:http://sgyyz.blog.51cto.com/5069360/1408251 目标: 使用jQuery Datatable构造数据列表,并且增加或者隐藏相应的列,已达到数据显示要求 ...