概述
org.apache.commons.lang3.StringUtils
中方法的操作对象是 java.lang.String 类型的对象,是 JDK 提供的 String 类型操作方法的补充,并且是 null 安全的(即如果输入参数 String 为 null 则不会抛出 NullPointerException
,而是做了相应处理,例如,如果输入为 null 则返回也是 null 等,具体可以查看源代码)。
官网地址:http://commons.apache.org/proper/commons-lang/
下载:http://commons.apache.org/proper/commons-lang/download_lang.cgi
maven
依赖
1 | <!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 --> |
StringUtils
常量
1 | public static final String SPACE = " "; |
StringUtils
常用方法
abbreviate
abbreviate
:使用省略号缩写字符串。
1 | abbreviate(String str, int maxWidth) |
例:
1 | StringUtils.abbreviate(null, *) = null |
compare
和 compareIgnoreCase
compare
:字符串的比较,返回:
- int = 0, if str1 is equal to str2 (or both null)
- int < 0, if str1 is less than str2
- int > 0, if str1 is greater than str2
compareIgnoreCase
:字符串的比较,忽略大小写。
1 | compare(String str1, String str2) |
例:
1 | StringUtils.compare(null, null) = 0 |
contains
、containsAny
、containsIgnoreCase
、containsNone
、containsOnly
、containsWhitespace
contains
:包含。
containsAny
:前一个参数,包含后一个参数中的任意一个。
containsIgnoreCase
:包含,忽略大小写。
containsNone
:前一个参数,不包含后一个参数中的每一个。
containsOnly
:前一个参数,仅包含后一个参数。
containsWhitespace
:是否包含任何空字符串。
1 | contains(CharSequence seq, CharSequence searchSeq) |
例:
1 | contains(CharSequence seq, CharSequence searchSeq) |
deleteWhitespace
、trim
deleteWhitespace
:删除空格。
trim
:从此字符串的两端删除控制字符(char <= 32),并通过返回 null 来处理 null。
1 | deleteWhitespace(String str) |
例:
1 | deleteWhitespace(String str) |
difference
difference
:比较两个字符串,并返回它们不同的部分。(更准确地说,从第二个 String 与第一个 String 不同的地方开始,返回其余的 String。这意味着 “abc” 和 “ab” 之间的区别是空字符串而不是 “c”。)
1 | difference(String str1, String str2) |
例:
1 | StringUtils.difference(null, null) = null |
equals
、equalsIgnoreCase
、equalsAny
、equalsAnyIgnoreCase
equals
:比较两个字符串,如果它们表示相等的字符序列,则返回 true。
equalsIgnoreCase
:同上,忽略大小写。
equalsAny
:将给定的字符串与需要被比较的字符串可变数组比较,如果字符串等于数组中的任何一个字符串,则返回 true。
equalsAnyIgnoreCase
:同上,忽略大小写。
1 | equals(CharSequence cs1, CharSequence cs2) |
例:
1 | equals(CharSequence cs1, CharSequence cs2) |
getBytes
getBytes
:以 null 安全的方式调用 String.getBytes(Charset)。
1 | getBytes(String string, Charset charset) |
getCommonPrefix
getCommonPrefix
:比较数组中的所有字符串,并返回所有字符串共有的初始字符序列。
1 | StringUtils.getCommonPrefix(null) = "" |
indexOf
、indexOfAny
indexOf
:检索字符串中需要被查找的字符串,处理为 null 的情况,返回第一次出现的索引位置,没有匹配到时返回 -1。
indexOfAny
:检索字符串中需要被查找的字符数组中的任何一个,处理为 null 的情况,返回第一次出现的索引位置,没有匹配到时返回 -1。
1 | indexOf(CharSequence seq, CharSequence searchSeq) |
例:
1 | indexOf(CharSequence seq, CharSequence searchSeq) |
isAllBlank
、isAllEmpty
、isAllLowerCase
、isAllUpperCase
isAllBlank
:检查所有字符串是否为空、null 或空白。
isAllEmpty
:检查所有字符串是否为空或 null。
isAllLowerCase
:检查字符串是否仅包含小写字符。
isAllUpperCase
:检查字符串是否仅包含大写字符。
1 | isAllBlank(CharSequence... css) |
例:
1 | isAllBlank(CharSequence... css) |
isBlank
、isEmpty
、isNoneBlank
、isNoneEmpty
、isNotBlank
、isNotEmpty
isBlank
:检查字符串是否为空、null 或空白。
isEmpty
:检查字符串是否为空或 null。
isNoneBlank
:检查所有字符串是否都不为空、null 或空白。
isNoneEmpty
:检查所有字符串是否为空或 null。
isNotBlank
:检查字符串是否不为空,不为 null 和空白。
isNotEmpty
:检查字符串是否不为空并且不为 null。
1 | isBlank(CharSequence cs) |
例:
1 | isBlank(CharSequence cs) |
join
join
:将提供的数组的元素连接到包含提供的元素列表的单个 String 中。
1 | join(byte[] array, char separator) |
例:
1 | join(byte[] array, char separator) |
lastIndexOf
lastIndexOf
:查找字符串中的最后一个索引,处理为 null 的情况。如果可能,此方法使用 String.lastIndexOf(String)。
1 | lastIndexOf(CharSequence seq, CharSequence searchSeq) |
例:
1 | StringUtils.lastIndexOf(null, *) = -1 |
lowerCase
、upperCase
lowerCase
:根据 String.toLowerCase()将 String 转换为小写。
upperCase
:根据 String.toUpperCase()将 String 转换为大写。
1 | lowerCase(String str) |
例:
1 | lowerCase(String str) |
mid
mid
:从字符串的中间获取 len 个字符。
1 | mid(String str, int pos, int len) |
例:
1 | StringUtils.mid(null, *, *) = null |
overlay
overlay
:用另一个字符串覆盖一个字符串的一部分。
1 | overlay(String str, String overlay, int start, int end) |
例:
1 | StringUtils.overlay(null, *, *, *) = null |
remove
、removeEnd
、removeStart
remove
:从源字符串中删除所有出现的字符或子字符串。
removeEnd
:仅当子字符串位于源字符串的末尾时才删除它,否则返回源字符串
removeStart
:仅当子字符串位于源字符串的开头时才删除它,否则返回源字符串。
1 | remove(String str, char remove) |
例:
1 | remove(String str, String remove) |
replace
replace
:替换另一个字符串中出现的所有字符串。
replaceChars
:将一个字符串中所有出现的字符替换为另一个。
replaceOnce
:用一个字符串替换另一个较大字符串内的部分字符串,只替换一次。
1 | replace(String text, String searchString, String replacement) |
例:
1 | replace(String text, String searchString, String replacement) |
reverse
reverse
:根据 StringBuilder.reverse()反转字符串。
1 | reverse(String str) |
例:
1 | StringUtils.reverse(null) = null |
split
split
:将提供的文本拆分为指定分隔符的数组。
1 | split(String str) |
例:
1 | split(String str) |
startsWith
、startsWithAny
、startsWithIgnoreCase
、endsWith
、endsWithAny
、endsWithIgnoreCase
startsWith
:检查字符串是否以指定的前缀开头。
startsWithAny
:检查字符串是否以提供的任何前缀结尾,区分大小写。
startsWithIgnoreCase
:检查是否以指定的前缀结尾,不区分大小写。
endsWith
:检查字符串是否以指定的后缀结尾。
endsWithAny
:检查字符串是否以提供的任何后缀结尾,区分大小写。
endsWithIgnoreCase
:检查是否以指定的后缀结尾,不区分大小写。
1 | startsWith(CharSequence str, CharSequence prefix) |
例:
1 | startsWith(CharSequence str, CharSequence prefix) |
strip
strip
:从字符串的开头和结尾去除任何字符集。
1 | strip(String str) |
例:
1 | strip(String str) |
substring
substring
:从指定的字符串获取一个子字符串,避免发生异常。
substringBefore
:在第一次出现分隔符之前获取子字符串。
substringAfter
:在第一次出现分隔符之后获取子字符串。
1 | substring(String str, int start) |
例:
1 | substring(String str, int start) |
truncate
truncate
:截断字符串。
1 | truncate(String str, int maxWidth) |
例:
1 | truncate(String str, int maxWidth) |
If you like this blog or find it useful for you, you are welcome to comment on it. You are also welcome to share this blog, so that more people can participate in it. If the images used in the blog infringe your copyright, please contact the author to delete them. Thank you !