判空函数

StringUtils.isEmpty(String str)           // 判断字符串是否为""或者null
StringUtils.isNotEmpty(String str)
StringUtils.isBlank(String str)           // 先去空格在按照isEmpty规则来
StringUtils.isNotBlank(String str)
StringUtils.isAnyBlank(CharSequence… css)
StringUtils.isAnyEmpty(CharSequence… css)  // 任意一个参数为空的话,返回true
StringUtils.isNoneBlank(CharSequence… css)
StringUtils.isNoneEmpty(CharSequence… css) // 所有参数都不为空,返回true
StringUtils.isWhitespace(CharSequence cs)  // 判断空白
StringUtils.isEmpty("")        = true
StringUtils.isEmpty(" ")       = false
StringUtils.isBlank(" ");      //true
StringUtils.isBlank("   ");    //true
StringUtils.isBlank("\n\t");   //true
StringUtils.isAnyBlank("", "bar","foo");       = true
//注意这两个区别
StringUtils.isAnyEmpty(" ", "bar")       = false
StringUtils.isAnyBlank(" ", "bar")       = true
StringUtils.isWhitespace(null)   = false
StringUtils.isWhitespace("")     = true
StringUtils.isWhitespace("  ")   = true

大小写函数

StringUtils.capitalize(String str)                   :首字母大写
StringUtils.uncapitalize(String str)
StringUtils.upperCase(String str)                   :全部转化为大写
StringUtils.upperCase(String str,Locale locale)
StringUtils.lowerCase(String str):
StringUtils.lowerCase(String str,Locale locale)
StringUtils.swapCase(String str)                    :大小写互转
StringUtils.isAllUpperCase(CharSequence cs)          :是否全部大写
StringUtils.isAllLowerCase(CharSequence cs)          :是否全部小写
StringUtils.capitalize(null)  = null
StringUtils.capitalize("")    = ""
//首字母转为大写
StringUtils.capitalize("cat") = "Cat"
//全部转为大写
StringUtils.upperCase("aBc") = "ABC"
//大小写互转
StringUtils.swapCase("The dog has a BONE") = "tHE DOG HAS A bone"
StringUtils.isAllLowerCase("abc")  = true
StringUtils.isAllLowerCase("  ")   = false
StringUtils.isAllLowerCase("abC")  = false
StringUtils.isAllLowerCase("ab c") = false
StringUtils.isAllLowerCase("ab1c") = false
StringUtils.isAllLowerCase("ab/c") = false

删除函数

StringUtils.remove(String str, char remove)
StringUtils.remove(String str, String remove)
StringUtils.removeEnd(String str, String remove)
StringUtils.removeEndIgnoreCase(String str, String remove)
StringUtils.removePattern(String source, String regex)
StringUtils.removeStart(String str, String remove)
StringUtils.removeStartIgnoreCase(String str, String remove)
StringUtils.deleteWhitespace(String str)
// 删除字符
StringUtils.remove("queued", 'u') = "qeed"
// 删除字符串
StringUtils.remove("queued", "ue") = "qd"
// 删除结尾匹配的字符串
StringUtils.removeEnd("www.domain.com", ".com")   = "www.domain"
// 删除结尾匹配的字符串,找不到返回原字符串
StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com"
// 忽略大小写的
StringUtils.removeEndIgnoreCase("www.domain.com", ".COM") = "www.domain")
// 删除所有空白(好用)
StringUtils.deleteWhitespace("abc")        = "abc"
StringUtils.deleteWhitespace("   ab  c  ") = "abc"

替换函数

replace(String text, String searchString, String replacement)
replace(String text, String searchString, String replacement, int max)
replaceChars(String str, char searchChar, char replaceChar)
replaceChars(String str, String searchChars, String replaceChars)
replaceEach(String text, String[] searchList, String[] replacementList)
replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)
replaceOnce(String text, String searchString, String replacement)
replacePattern(String source, String regex, String replacement)
overlay(String str,String overlay,int start,int end)
StringUtils.replace("aba", "a", "")    = "b"
StringUtils.replace("aba", "a", "z")   = "zbz"    //数字就是替换个数,0代表不替换,1代表从开始数起第一个,-1代表全部替换
StringUtils.replace("abaa", "a", "", -1)   = "b"
StringUtils.replace("abaa", "a", "z", 0)   = "abaa"
StringUtils.replace("abaa", "a", "z", 1)   = "zbaa"
StringUtils.replace("abaa", "a", "z", 2)   = "zbza"
StringUtils.replace("abaa", "a", "z", -1)  = "zbzz"
//
StringUtils.replaceChars("dabcba", "bcd", "yzx")      = "xayzya"
StringUtils.replaceChars("abcba", "bc", "yc")         = "aycya"

replaceEach是replace的增强版,搜索列表和替换长度必须一致,否则报llegalArgumentException异常

StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"})  = "wcte"
StringUtils.replaceEach("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"})  = "dcte"

replaceOnce只替换一次:

StringUtils.replaceOnce("aba", "a", "")    = "ba"
StringUtils.replaceOnce("aba", "a", "z")   = "zba"
StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"w", "t"}) = "wcte"
//这是一个非常奇怪的函数,本来自己料想结果应该是“dcte”的,可是结果居然是tcte,而dcte再替换一次就是tcte了。
StringUtils.replaceEachRepeatedly("abcde", new String[]{"ab", "d"}, new String[]{"d", "t"}) = "tcte"
StringUtils.overlay("abcdef", "zzzz", 2, 4)   = "abzzzzef"
StringUtils.overlay("abcdef", "zzzz", 4, 2)   = "abzzzzef"
StringUtils.overlay("abcdef", "zzzz", -1, 4)  = "zzzzef"
StringUtils.overlay("abcdef", "zzzz", 2, 8)   = "abzzzz"
StringUtils.overlay("abcdef", "zzzz", -2, -3) = "zzzzabcdef"
StringUtils.overlay("abcdef", "zzzz", 8, 10)  = "abcdefzzzz"

省略字符串

缩略字符串,省略号要占三位。maxWith小于3位会报错

abbreviate(final String str, final int maxWidth)
StringUtils.abbreviate(null, *)      = null
StringUtils.abbreviate("", 4)        = ""
StringUtils.abbreviate("abcdefg", 6) = "abc..."
StringUtils.abbreviate("abcdefg", 7) = "abcdefg"
StringUtils.abbreviate("abcdefg", 8) = "abcdefg"
StringUtils.abbreviate("abcdefg", 4) = "a..."
StringUtils.abbreviate("abcdefg", 3) = IllegalArgumentException

反转函数

reverse(String str)
reverseDelimited(String str, char separatorChar)
StringUtils.reverse("bat")                  = "tab"
StringUtils.reverseDelimited("a.b.c", 'x') = "a.b.c"
StringUtils.reverseDelimited("a.b.ac", '.') = "ac.b.a"

分隔合并函数

split(String str)
split(String str, char separatorChar)
split(String str, String separatorChars)
split(String str, String separatorChars, int max)
splitByCharacterType(String str)
splitByCharacterTypeCamelCase(String str)
splitByWholeSeparator(String str, String separator)
splitByWholeSeparator(String str, String separator, int max)
splitByWholeSeparatorPreserveAllTokens(String str, String separator)
splitByWholeSeparatorPreserveAllTokens(String str, String separator, int max)
splitPreserveAllTokens(String str)
splitPreserveAllTokens(String str, char separatorChar)
splitPreserveAllTokens(String str, String separatorChars)
splitPreserveAllTokens(String str, String separatorChars, int max)
//用空白符做空格
StringUtils.split("abc def")  = ["abc", "def"]
StringUtils.split("abc  def") = ["abc", "def"]
StringUtils.split("a..b.c", '.')   = ["a", "b", "c"]
//用字符分割
StringUtils.split("a:b:c", '.')    = ["a:b:c"]
//0 或者负数代表没有限制
StringUtils.split("ab:cd:ef", ":", 0)    = ["ab", "cd", "ef"]
//分割字符串 ,可以设定得到数组的长度,限定为2
StringUtils.split("ab:cd:ef", ":", 2)    = ["ab", "cd:ef"]
//null也可以作为分隔
StringUtils.splitByWholeSeparator("ab de fg", null)      = ["ab", "de", "fg"]
StringUtils.splitByWholeSeparator("ab   de fg", null)    = ["ab", "de", "fg"]
StringUtils.splitByWholeSeparator("ab:cd:ef", ":")       = ["ab", "cd", "ef"]
StringUtils.splitByWholeSeparator("ab-!-cd-!-ef", "-!-") = ["ab", "cd", "ef"]
//带有限定长度的分隔
StringUtils.splitByWholeSeparator("ab:cd:ef", ":", 2)       = ["ab", "cd:ef"]

合并字符串

join(byte[] array,char separator)
join(Object[] array,char separator)等方法
join(Object[] array,char separator,int startIndex,int endIndex)
// 只有一个参数的join,简单合并在一起
StringUtils.join(["a", "b", "c"]) = "abc"
StringUtils.join([null, "", "a"]) = "a"
// null的话,就是把字符合并在一起
StringUtils.join(["a", "b", "c"], null) = "abc"
// 从index为0到3合并,注意是排除3的
StringUtils.join([null, "", "a"], ',', 0, 3)   = ",,a"
StringUtils.join(["a", "b", "c"], "--", 0, 3)  = "a--b--c"
// 从index为1到3合并,注意是排除3的
StringUtils.join(["a", "b", "c"], "--", 1, 3)  = "b--c"
StringUtils.join(["a", "b", "c"], "--", 2, 3)  = "c"

截取函数

substring(String str,int start)
// 截取第一次出现separator的并保留后面部分
substringAfter(String str,String separator)
// 从最后一个字母出现开始向前截取
substringBeforeLast(String str,String separator)
// 从最后一个字母出现开始向后截取
substringAfterLast(String str,String separator)
// 从两端截取tag保留中间部分
substringBetween(String str,String tag)
StringUtils.substring("abcdefg", 0)  = "abcdefg"
StringUtils.substring("abcdefg", 2)  = "cdefg"
StringUtils.substring("abcdefg", 4)  = "efg"
//start>0表示从左向右, start<0表示从右向左, start=0则从左第一位开始
StringUtils.substring("abcdefg", -2) = "fg"
StringUtils.substring("abcdefg", -4) = "defg"//从第一个参数字符串开始截取
StringUtils.substringAfter("abc", "a")   = "bc"
StringUtils.substringAfter("abcba", "b") = "cba"
StringUtils.substringAfter("abc", "c")   = ""//从最后一个字母出现开始向前截取
StringUtils.substringBeforeLast("abcba", "b") = "abc"
StringUtils.substringBeforeLast("abc", "c")   = "ab"
StringUtils.substringBeforeLast("a", "a")     = ""
StringUtils.substringBeforeLast("a", "z")     = "a"//从最后一个字母出现开始向后截取
StringUtils.substringAfterLast("abc", "a")   = "bc"
StringUtils.substringAfterLast("abcba", "b") = "a"
StringUtils.substringAfterLast("abc", "c")   = ""StringUtils.substringBetween("tagabctag", null)  = null
StringUtils.substringBetween("tagabctag", "")    = ""
StringUtils.substringBetween("tagabctag", "tag") = "abc"
// start>0&&end>0从左开始(包括左)到右结束(不包括右),
//start<0&&end<0从右开始(包括右),再向左数到end结束(包括end)
StringUtils.substring("abc", -2, -1) = "b"
StringUtils.substring("abc", -4, 2)  = "ab"

匹配计数函数

countMatches(CharSequence str,char ch)
StringUtils.countMatches("abba", 0)    = 0
StringUtils.countMatches("abba", 'a')   = 2
StringUtils.countMatches("abba", 'b')   = 2
StringUtils.countMatches("abba", 'x')   = 0

删除空白函数

trim(String str)
trimToEmpty(String str)
trimToNull(String str)         // 如果是null就返回null,否则trim之后返回
deleteWhitespace(String str)   // 移除所有空白字符
StringUtils.trim("     ")               = ""
StringUtils.trim("abc")                = "abc"
StringUtils.trim("    abc    ")            = "abc"
//空的话,返回null
StringUtils.trimToNull("     ")             = null
StringUtils.trimToNull("abc")               = "abc"
StringUtils.trimToNull("    abc    ")       = "abc"
StringUtils.trimToEmpty("     ")          = ""
StringUtils.trimToEmpty("abc")            = "abc"
StringUtils.trimToEmpty("    abc    ")    = "abc"

填充居中函数

leftPad/rightPad(String str,int size)
leftPad(String str,int size,char padChar)
center(String str,int size)
center(String str,int size,char padChar)
repeat(char ch,int repeat)
repeat(String str,String separator,int repeat)
appendIfMissing(String str, CharSequence suffix, CharSequence… suffixes)
StringUtils.leftPad("bat", 3)  = "bat"
//左填充,默认填充空
StringUtils.leftPad("bat", 5)  = "  bat"
StringUtils.leftPad("bat", 1)  = "bat"
StringUtils.leftPad("bat", -1) = "bat"
//左填充,填充字符为z
StringUtils.leftPad("bat", 3, 'z')  = "bat"
StringUtils.leftPad("bat", 5, 'z')  = "zzbat"
StringUtils.leftPad("bat", 1, 'z')  = "bat"
StringUtils.leftPad("bat", -1, 'z') = "bat"
//居中
StringUtils.center("ab", -1)  = "ab"
StringUtils.center("ab", 4)   = " ab "
StringUtils.center("abcd", 2) = "abcd"
StringUtils.center("a", 4)    = " a
//居中,最后一个参数是填充字符或字符串
StringUtils.center("abcd", 2, ' ') = "abcd"
StringUtils.center("a", 4, ' ')    = " a  "
StringUtils.center("a", 4, 'y')    = "yayy"
//重复字符串,第二个参数是重复次数
StringUtils.repeat("a", 3)  = "aaa"
StringUtils.repeat("ab", 2) = "abab"
StringUtils.repeat("a", -2) = ""
//重复字符串,第二个参数是分割符,第三个参数是重复次数
StringUtils.repeat("", "x", 3)    = "xxx"
StringUtils.repeat("?", ", ", 3)  = "?, ?, ?"StringUtils.appendIfMissing("abcxyz", "xyz", "mno") = "abcxyz"
StringUtils.appendIfMissing("abcmno", "xyz", "mno") = "abcmno"
StringUtils.appendIfMissing("abcXYZ", "xyz", "mno") = "abcXYZxyz"
StringUtils.appendIfMissing("abcMNO", "xyz", "mno") = "abcMNOxyz"

是否包含函数

containsAny(CharSequence cs,char… searchChars)
containsOnly(CharSequence cs,char… valid)
containsNone(CharSequence cs,char… searchChars)
startsWith(CharSequence str,CharSequence prefix)
startsWithIgnoreCase(CharSequence str,CharSequence prefix)
startsWithAny(CharSequence string,CharSequence… searchStrings)
// 是否包含后面数组中的任意对象,返回true(和List里的containsAll有点像)
StringUtils.containsAny(null, *)                = false
StringUtils.containsAny("", *)                  = false
StringUtils.containsAny(*, null)                = false
StringUtils.containsAny(*, [])                  = false
StringUtils.containsAny("zzabyycdxx",['z','a']) = true
StringUtils.containsAny("zzabyycdxx",['b','y']) = true
StringUtils.containsAny("aba", ['z'])           = false//判断字符串中所有字符,是否都是出自参数2中
StringUtils.containsOnly("ab", "")      = false
StringUtils.containsOnly("abab", "abc") = true
StringUtils.containsOnly("ab1", "abc")  = false
StringUtils.containsOnly("abz", "abc")  = false//判断字符串中所有字符,都不在参数2中。
StringUtils.containsNone("abab", 'xyz') = true
StringUtils.containsNone("ab1", 'xyz')  = true
StringUtils.containsNone("abz", 'xyz')  = false//判断字符串是否以第二个参数开始
StringUtils.startsWith("abcdef", "abc") = true
StringUtils.startsWith("ABCDEF", "abc") = false

Apache StringUtils工具类相关推荐

  1. Apache Commons包 StringUtils工具类深入整理(转载)

    [转载地址]:cnblogs.com/sealy321/p/10227131.html 字符串是在程序开发中最常见的,Apache Commons开源项目在org.apache.commons.lan ...

  2. Apache Commons StringUtils工具类深入整理

    字符串是在程序开发中最常见的,Apache Commons开源项目在org.apache.commons.lang3包下提供了StringUtils工具类,该类相当于是对jdk自带的String类的增 ...

  3. Apache commons lang3 StringUtils工具类

    Apache commons lang3 StringUtils工具类 Apache commons lang3包下的StringUtils工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常 ...

  4. 常用Apache Commons工具类备忘

    常用Apache Commons工具类 ----------------------------------------------------------------- 例如:commons.lan ...

  5. StringUtils 工具类常用方法汇总 1(判空、转换、移除、替换、反转)

    Apache commons lang3 包下的 StringUtils 工具类中封装了一些字符串操作的方法,非常实用,使用起来也非常方便.最近自己也经常在项目中使用到了里面的一些方法,在这里将常用的 ...

  6. java apache 工具类,超实用的apache Java 工具类

    org.apache.commons.io.IOUtils closeQuietly:关闭一个IO流.socket.或者selector且不抛出异常,通常放在finally块 toString:转换I ...

  7. Apache Commons 工具类介绍及简单使用(转)

    转自:http://www.cnblogs.com/younggun/p/3247261.html Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下 ...

  8. Apache Commons 工具类介绍及简单使用

    Apache Commons包含了很多开源的工具,用于解决平时编程经常会遇到的问题,减少重复劳动.下面是我这几年做开发过程中自己用过的工具类做简单介绍. 组件 功能介绍 BeanUtils 提供了对于 ...

  9. apache httpclient 工具类_HttpClient

    HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...

最新文章

  1. 2018-3-24论文(Grey Wolf Optimizer)note1----------No Free Lunch Theorem
  2. 史上最全软件测试自学完整路线,走过路过千万不要错过
  3. 留念,第一次在C中调用lua成功!
  4. 用异或来交换两个变量能提快速度是错误的
  5. 手机控制树莓派linux,怎样用PC或手机远程控制树莓派
  6. Maven日常 —— 你应该知道的一二三
  7. .NET Core with 微服务 - Elastic APM
  8. 关于技术文章“标题党”一事我想说两句
  9. 远控免杀专题(18)-ASWCrypter免杀
  10. 对WITH和from(select ...)的一点比较
  11. Commons IO -- IOUtils
  12. [基础知识]在PeopleSoft中SMTP设置不生效如何查找问题
  13. 解决idea使用jdbc连接数据库失败的方法(针对驱动导入失败)
  14. 学习操作系统心得体会
  15. 【Spark重点难点08】Spark3.0中的AQE和DPP小总结
  16. CTF misc图片类总结(入门级)
  17. 马蹄疾 | 2019年,是时候认真学一波 Grid 布局了
  18. android apktool反编译,apktool反编译工具
  19. 幼儿抽象逻辑思维举例_孩子逻辑思维能力有多重要?巧用生活小游戏,培养好了娃受益终身...
  20. MysqlWorkbench中无法显示表[tables could not be fetched]

热门文章

  1. 万维网之父正投身的“互联网去中心化”事业,目前仍有这几大难题
  2. “天眼”之服务器的监控
  3. Three.js基础入门系列(九)--导入3D模型
  4. linux查看cpu核数命令
  5. word文档打印之后出打印报告
  6. 制作API离线CHM文件教程
  7. android 设备 root,Root Android 设备
  8. 基于语法规则生成句子
  9. 大学英语视听说教程(陈向京版本)
  10. lcd4linux 树莓派,树莓派B+运行kali并使用微雪3.5寸LCD电阻屏显示