首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【commons-lang3专题】001-StringUtils 专题

【commons-lang3专题】001-StringUtils 专题

作者头像
訾博ZiBo
发布2025-01-06 14:45:52
发布2025-01-06 14:45:52
2590
举报

【commons-lang3专题】001-StringUtils 专题

〇、准备

1、StringUtils 主要作用

提供各种字符串操作方法。

2、引入依赖

代码语言:javascript
复制
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
    <groupId>org.apache.commons</groupId>
    <artifactId>commons-lang3</artifactId>
    <version>3.12.0</version>
</dependency>

一、判断非空

1、判断字符串是否为空:null、“”、" " 为 true ,其他为 false

代码语言:javascript
复制
// 1、判断字符串是否为空:null、""、" " 为 true ,其他为 false
System.out.println(StringUtils.isBlank(null)); // true
System.out.println(StringUtils.isBlank("")); // true
System.out.println(StringUtils.isBlank(" ")); // true
System.out.println(StringUtils.isBlank(" zibo ")); // false

2、判断字符串是否非空(与 isBlank 相反):null、“”、" " 为 false ,其他为 true

代码语言:javascript
复制
// 2、判断字符串是否非空(与 isBlank 相反):null、""、" " 为 false ,其他为 true
System.out.println(StringUtils.isNotBlank(null)); // true
System.out.println(StringUtils.isNotBlank("")); // true
System.out.println(StringUtils.isNotBlank(" ")); // true
System.out.println(StringUtils.isNotBlank(" zibo ")); // true

3、判断字符串是否为空:null、“” 为 true ,其他为 false

代码语言:javascript
复制
// 3、判断字符串是否为空:null、"" 为 true ,其他为 false
System.out.println(StringUtils.isEmpty(null)); // true
System.out.println(StringUtils.isEmpty("")); // true
System.out.println(StringUtils.isEmpty(" ")); // false
System.out.println(StringUtils.isEmpty(" zibo ")); // false

4、判断字符串是否非空(与 isEmpty 相反):null、“” 为 false ,其他为 true

代码语言:javascript
复制
// 4、判断字符串是否非空(与 isEmpty 相反):null、"" 为 false ,其他为 true
System.out.println(StringUtils.isNotEmpty(null)); // false
System.out.println(StringUtils.isNotEmpty("")); // false
System.out.println(StringUtils.isNotEmpty(" ")); // true
System.out.println(StringUtils.isNotEmpty(" zibo ")); // true

二、判断类型

5、判断字符串是否是数字,不忽略空格

代码语言:javascript
复制
// 5、判断字符串是否是数字,不忽略空格
System.out.println(StringUtils.isNumeric("")); // false
System.out.println(StringUtils.isNumeric(" ")); // false
System.out.println(StringUtils.isNumeric("100")); // true
System.out.println(StringUtils.isNumeric(" 100 ")); // false
// 注意下面连小数也是返回 `false` ,这是我没想到的!
System.out.println(StringUtils.isNumeric("100.0")); // false

6、判断字符串是否是数字,忽略空格

代码语言:javascript
复制
// 6、判断字符串是否是数字,忽略空格
// 空字符串返回 `true` ,我目瞪口呆!
System.out.println(StringUtils.isNumericSpace("")); // true
// 空格串返回 `true` ,我目瞪口呆!
System.out.println(StringUtils.isNumericSpace(" ")); // true
System.out.println(StringUtils.isNumericSpace("100")); // true
System.out.println(StringUtils.isNumericSpace(" 100 ")); // true
// 注意下面连小数也是返回 `false` ,这是我没想到的!
System.out.println(StringUtils.isNumericSpace("100.0")); // false

7、判断字符串是否是希腊字母,不忽略空格

代码语言:javascript
复制
// 7、判断字符串是否是希腊字母,不忽略空格
// 希腊字母?恐怕一万年之内我不会用到这个功能!
System.out.println(StringUtils.isAlpha("")); // false
System.out.println(StringUtils.isAlpha(" ")); // false
System.out.println(StringUtils.isAlpha("zibo")); // true
System.out.println(StringUtils.isAlpha(" zibo ")); // false
System.out.println(StringUtils.isAlpha("zibo zibo")); // false
System.out.println(StringUtils.isAlpha("zibo123")); // false

8、判断字符串是否是希腊字母,忽略空格

代码语言:javascript
复制
// 8、判断字符串是否是希腊字母,忽略空格
// 同样是空字符串,忽略空格就返回 `true` ,我目瞪口呆!有区别吗!
System.out.println(StringUtils.isAlphaSpace("")); // true
System.out.println(StringUtils.isAlphaSpace(" ")); // true
System.out.println(StringUtils.isAlphaSpace("zibo")); // true
System.out.println(StringUtils.isAlphaSpace(" zibo ")); // true
System.out.println(StringUtils.isAlphaSpace("zibo zibo")); // true
System.out.println(StringUtils.isAlphaSpace("zibo123")); // false

9、判断字符串是否是希腊字母与数字组成,不忽略空格

代码语言:javascript
复制
// 9、判断字符串是否是希腊字母与数字组成,不忽略空格
// 又是一个一万年之内不会用到的功能吧!
System.out.println(StringUtils.isAlphanumeric("")); // false
System.out.println(StringUtils.isAlphanumeric(" ")); // false
// 由此可见,这是一种包含关系!不要求一定有字母和数字,有其一也返回 `true` !
System.out.println(StringUtils.isAlphanumeric("zibo")); // true
System.out.println(StringUtils.isAlphanumeric("123")); // true
System.out.println(StringUtils.isAlphanumeric("zibo123")); // true
System.out.println(StringUtils.isAlphanumeric("zibo123 ")); // false

10、判断字符串是否是希腊字母与数字组成,忽略空格

代码语言:javascript
复制
// 10、判断字符串是否是希腊字母与数字组成,忽略空格
// 同样是空字符串,忽略空格就返回 `true` ,我目瞪口呆!有区别吗!
System.out.println(StringUtils.isAlphanumericSpace("")); // true
System.out.println(StringUtils.isAlphanumericSpace(" ")); // true
System.out.println(StringUtils.isAlphanumericSpace("zibo")); // true
System.out.println(StringUtils.isAlphanumericSpace("123")); // true
System.out.println(StringUtils.isAlphanumericSpace("zibo123")); // true
System.out.println(StringUtils.isAlphanumericSpace("zibo123 ")); // true

三、判断大小写

11、判断字符串是否全是小写字母

代码语言:javascript
复制
// 11、判断字符串是否全是小写字母
System.out.println(StringUtils.isAllLowerCase("zibo")); // true
System.out.println(StringUtils.isAllLowerCase("ZiBo")); // false
System.out.println(StringUtils.isAllLowerCase("ZIBO")); // false

12、判断字符串是否全是大写字母

代码语言:javascript
复制
// 12、判断字符串是否全是大写字母
System.out.println(StringUtils.isAllUpperCase("ZIBO")); // true
System.out.println(StringUtils.isAllUpperCase("ZiBo")); // false
System.out.println(StringUtils.isAllUpperCase("zibo")); // false

四、判断包含

13、判断源字符串是否包含目标字符串

代码语言:javascript
复制
// 13、判断源字符串是否包含目标字符串
System.out.println(StringUtils.contains("zibo", "zibo")); // true
// 可见,区分大小写!
System.out.println(StringUtils.contains("zibo", "ZIBO")); // false
System.out.println(StringUtils.contains("zibo", "")); // true
// 不忽略空格,返回 `false` !
System.out.println(StringUtils.contains("zibo", " ")); // false

14、判断源字符串是否包含目标字节

代码语言:javascript
复制
// 14、判断源字符串是否包含目标字节
System.out.println(StringUtils.contains("zibo", 'z')); // true
// 可见,区分大小写!
System.out.println(StringUtils.contains("zibo", 'Z')); // false
System.out.println(StringUtils.contains("zibo", 'a')); // false

15、判断源字符串是否包含目标字符串(多目标)

代码语言:javascript
复制
// 15、判断源字符串是否包含目标字符串(多目标)
System.out.println(StringUtils.containsAny("zibo", "zibo")); // true
// 多个目标字符串
System.out.println(StringUtils.containsAny("zibo", "zi", "bo")); // true
// 可见,区分大小写!
System.out.println(StringUtils.containsAny("zibo", "ZIBO")); // false

16、判断源字符串是否包含目标字节(多目标)

代码语言:javascript
复制
// 16、判断源字符串是否包含目标字节(多目标)
// 多个目标字符串
System.out.println(StringUtils.containsAny("zibo", 'z')); // true
System.out.println(StringUtils.containsAny("zibo", 'z', 'b')); // true
// 意料之外:有一个包含,也返回 `true` !
System.out.println(StringUtils.containsAny("zibo", 'z', 'a')); // true
System.out.println(StringUtils.containsAny("zibo", 'a')); // false

五、去前后空格

17、去掉字符串前后空格(““返回””)

代码语言:javascript
复制
// 17、去掉字符串前后空格(""返回"")
// 为空时返回空,为 null 时返回 null(不是字符串null,防止空指针异常)
System.out.println(StringUtils.trim(null)); // null
System.out.println(StringUtils.trim(" zibo ")); // zibo
System.out.println(StringUtils.trim(" ")); // ""

18、去掉字符串前后空格(""返回 null )

代码语言:javascript
复制
// 18、去掉字符串前后空格(""返回 `null` )
// 当为空时,返回 null(不是字符串null,防止空指针异常)
System.out.println(StringUtils.trimToNull(null)); // null
System.out.println(StringUtils.trimToNull(" zibo ")); // zibo
System.out.println(StringUtils.trimToNull(" ")); // null

19、去掉字符串前后空格(null返回"" )

代码语言:javascript
复制
// 19、去掉字符串前后空格(null返回"" )
System.out.println(StringUtils.trimToEmpty(null)); // ""
System.out.println(StringUtils.trimToEmpty(" zibo ")); // zibo
System.out.println(StringUtils.trimToEmpty(" ")); // ""

六、判断两个字符串是否相等

20、比较两个字符串是否相等(区分大小写)

代码语言:javascript
复制
// 20、比较两个字符串是否相等(区分大小写)
System.out.println(StringUtils.equals("zibo", "zibo")); // true
System.out.println(StringUtils.equals("zibo", "ZIBO")); // false

21、比较两个字符串是否相等(忽略大小写)

代码语言:javascript
复制
// 21、比较两个字符串是否相等(忽略大小写)
System.out.println(StringUtils.equalsIgnoreCase("zibo", "zibo")); // true
System.out.println(StringUtils.equalsIgnoreCase("zibo", "ZIBO")); // true

七、查找目标字符串位置

22、查找目标字符串在源字符串中第一次出现的位置,没有返回-1

代码语言:javascript
复制
// 22、查找目标字符串在源字符串中第一次出现的位置,没有返回-1
System.out.println(StringUtils.indexOf("zibo", "z")); // 0
System.out.println(StringUtils.indexOf("zibo", "a")); // -1

23、查找目标字符串在源字符串中第一次出现的位置,没有返回-1(从指定位置开始查找)

代码语言:javascript
复制
// 23、查找目标字符串在源字符串中第一次出现的位置,没有返回-1(从指定位置开始查找)
System.out.println(StringUtils.indexOf("zibo", "i", 0)); // 1
System.out.println(StringUtils.indexOf("zibo", "i", 1)); // 1
System.out.println(StringUtils.indexOf("zibo", "i", 2)); // -1

24、查找数组中任意元素在源字符串中出现的索引位置,满足多个时,取最小值,没有返回-1(多目标)

代码语言:javascript
复制
// 24、查找数组中任意元素在源字符串中出现的索引位置,满足多个时,取最小值,没有返回-1(多目标)
System.out.println(StringUtils.indexOfAny("zibo", "z", "i")); // 0
System.out.println(StringUtils.indexOfAny("zibo", "b", "o")); // 2
System.out.println(StringUtils.indexOfAny("zibo", "b", "t")); // 2

八、大小写转换

25、字符串字母转小写

代码语言:javascript
复制
// 25、字符串字母转小写
System.out.println(StringUtils.lowerCase("ZIBO")); // zibo

26、字符串字母转大写

代码语言:javascript
复制
// 26、字符串字母转大写
System.out.println(StringUtils.upperCase("zibo")); // ZIBO

27、首字母转大写

代码语言:javascript
复制
// 28、首字母转大写
System.out.println(StringUtils.capitalize("zibo")); // Zibo

九、省略与补充

28、对 str 字符串进行省略号缩写

代码语言:javascript
复制
// 27、对 str 字符串进行省略号缩写
// maxWidth 表示长度,必须大于等于4(表示缩写后的长度)
System.out.println(StringUtils.abbreviate("zibo zibo zibo", 4)); // z...

29、将 str 前后用空格填充,使总长度达到 size

代码语言:javascript
复制
// 29、将 str 前后用空格填充,使总长度达到 size
// size 本身小于 str 长度时,不做填充
System.out.println(StringUtils.center("zibo", 6)); // " zibo "

30、使用指定字符串进行填充

代码语言:javascript
复制
// 30、使用指定字符串进行填充
System.out.println(StringUtils.center("zibo", 6, "*")); // "*zibo*"

十、比较字符串

31、比较字符串 str1 与 str2 的大小(区分大小写)

代码语言:javascript
复制
// 31、比较字符串 str1 与 str2 的大小(区分大小写)
System.out.println(StringUtils.compare("a", "a")); // 0
System.out.println(StringUtils.compare("a", "b")); // -1
System.out.println(StringUtils.compare("b", "a")); // 1
System.out.println(StringUtils.compare("a", "A")); // 32

32、比较字符串 str1 与 str2 的大小(忽略大小写)

代码语言:javascript
复制
// 32、比较字符串 str1 与 str2 的大小(忽略大小写)
System.out.println(StringUtils.compareIgnoreCase("a", "A")); // 0
System.out.println(StringUtils.compareIgnoreCase("a", null, true)); // 1
System.out.println(StringUtils.compareIgnoreCase(null, null, true)); // 0
System.out.println(StringUtils.compareIgnoreCase("a", null, false)); // -1
System.out.println(StringUtils.compareIgnoreCase(null, null, false)); // 0
System.out.println(StringUtils.compareIgnoreCase("z", null, true)); // 1
System.out.println(StringUtils.compareIgnoreCase("z", null, false)); // -1

十一、查找出现次数

33、查找某个目标字符/字符串在源字符串中出现的次数

代码语言:javascript
复制
// 33、查找某个目标字符/字符串在源字符串中出现的次数
System.out.println(StringUtils.countMatches("zibo zibo zibo", "z")); // 3

十二、分隔符分隔

34、将数组使用指定分隔符连接

代码语言:javascript
复制
// 34、将数组使用指定分隔符连接
// liubei,guanyu,zhangfei
System.out.println(StringUtils.join(new String[]{"liubei", "guanyu", "zhangfei"}, ","));
System.out.println(StringUtils.join("a", "b", "c")); // abc
System.out.println(StringUtils.join(Arrays.asList("a", "b", "c"), ",")); // a,b,c
// [a, b, c],[d, e, f]
System.out.println(StringUtils.joinWith(",", Arrays.asList("a", "b", "c"), Arrays.asList("d", "e", "f")));

十三、为空默认值

35、如果字符串为 null 、“”、 " ",则返回默认字符串

代码语言:javascript
复制
// 35、如果字符串为 null 、""、 " ",则返回默认字符串
System.out.println(StringUtils.defaultIfBlank(null, "default")); // default
System.out.println(StringUtils.defaultIfBlank("", "default")); // default
System.out.println(StringUtils.defaultIfBlank(" ", "default")); // default

36、如果字符串为 null 、“” ,则返回默认字符串

代码语言:javascript
复制
// 36、如果字符串为 null 、"" ,则返回默认字符串
System.out.println(StringUtils.defaultIfEmpty(null, "default")); // default
System.out.println(StringUtils.defaultIfEmpty("", "default")); // default
System.out.println(StringUtils.defaultIfEmpty(" ", "default")); // " "

十四、完整代码

代码语言:javascript
复制
package com.zibo.zibo2022.string_utils.main;

import java.util.Arrays;
import org.apache.commons.lang3.StringUtils;

public class Main {

    public static void main(String[] args) {
        // start
        // 1、判断字符串是否为空:null、""、" " 为 true ,其他为 false
        System.out.println(StringUtils.isBlank(null)); // true
        System.out.println(StringUtils.isBlank("")); // true
        System.out.println(StringUtils.isBlank(" ")); // true
        System.out.println(StringUtils.isBlank(" zibo ")); // false

        // 2、判断字符串是否非空(与 isBlank 相反):null、""、" " 为 false ,其他为 true
        System.out.println(StringUtils.isNotBlank(null)); // true
        System.out.println(StringUtils.isNotBlank("")); // true
        System.out.println(StringUtils.isNotBlank(" ")); // true
        System.out.println(StringUtils.isNotBlank(" zibo ")); // true

        // 3、判断字符串是否为空:null、"" 为 true ,其他为 false
        System.out.println(StringUtils.isEmpty(null)); // true
        System.out.println(StringUtils.isEmpty("")); // true
        System.out.println(StringUtils.isEmpty(" ")); // false
        System.out.println(StringUtils.isEmpty(" zibo ")); // false

        // 4、判断字符串是否非空(与 isEmpty 相反):null、"" 为 false ,其他为 true
        System.out.println(StringUtils.isNotEmpty(null)); // false
        System.out.println(StringUtils.isNotEmpty("")); // false
        System.out.println(StringUtils.isNotEmpty(" ")); // true
        System.out.println(StringUtils.isNotEmpty(" zibo ")); // true

        // 5、判断字符串是否是数字,不忽略空格
        System.out.println(StringUtils.isNumeric("")); // false
        System.out.println(StringUtils.isNumeric(" ")); // false
        System.out.println(StringUtils.isNumeric("100")); // true
        System.out.println(StringUtils.isNumeric(" 100 ")); // false
        // 注意下面连小数也是返回 `false` ,这是我没想到的!
        System.out.println(StringUtils.isNumeric("100.0")); // false

        // 6、判断字符串是否是数字,忽略空格
        // 空字符串返回 `true` ,我目瞪口呆!
        System.out.println(StringUtils.isNumericSpace("")); // true
        // 空格串返回 `true` ,我目瞪口呆!
        System.out.println(StringUtils.isNumericSpace(" ")); // true
        System.out.println(StringUtils.isNumericSpace("100")); // true
        System.out.println(StringUtils.isNumericSpace(" 100 ")); // true
        // 注意下面连小数也是返回 `false` ,这是我没想到的!
        System.out.println(StringUtils.isNumericSpace("100.0")); // false

        // 7、判断字符串是否是希腊字母,不忽略空格
        // 希腊字母?恐怕一万年之内我不会用到这个功能!
        System.out.println(StringUtils.isAlpha("")); // false
        System.out.println(StringUtils.isAlpha(" ")); // false
        System.out.println(StringUtils.isAlpha("zibo")); // true
        System.out.println(StringUtils.isAlpha(" zibo ")); // false
        System.out.println(StringUtils.isAlpha("zibo zibo")); // false
        System.out.println(StringUtils.isAlpha("zibo123")); // false

        // 8、判断字符串是否是希腊字母,忽略空格
        // 同样是空字符串,忽略空格就返回 `true` ,我目瞪口呆!有区别吗!
        System.out.println(StringUtils.isAlphaSpace("")); // true
        System.out.println(StringUtils.isAlphaSpace(" ")); // true
        System.out.println(StringUtils.isAlphaSpace("zibo")); // true
        System.out.println(StringUtils.isAlphaSpace(" zibo ")); // true
        System.out.println(StringUtils.isAlphaSpace("zibo zibo")); // true
        System.out.println(StringUtils.isAlphaSpace("zibo123")); // false

        // 9、判断字符串是否是希腊字母与数字组成,不忽略空格
        // 又是一个一万年之内不会用到的功能吧!
        System.out.println(StringUtils.isAlphanumeric("")); // false
        System.out.println(StringUtils.isAlphanumeric(" ")); // false
        // 由此可见,这是一种包含关系!不要求一定有字母和数字,有其一也返回 `true` !
        System.out.println(StringUtils.isAlphanumeric("zibo")); // true
        System.out.println(StringUtils.isAlphanumeric("123")); // true
        System.out.println(StringUtils.isAlphanumeric("zibo123")); // true
        System.out.println(StringUtils.isAlphanumeric("zibo123 ")); // false

        // 10、判断字符串是否是希腊字母与数字组成,忽略空格
        // 同样是空字符串,忽略空格就返回 `true` ,我目瞪口呆!有区别吗!
        System.out.println(StringUtils.isAlphanumericSpace("")); // true
        System.out.println(StringUtils.isAlphanumericSpace(" ")); // true
        System.out.println(StringUtils.isAlphanumericSpace("zibo")); // true
        System.out.println(StringUtils.isAlphanumericSpace("123")); // true
        System.out.println(StringUtils.isAlphanumericSpace("zibo123")); // true
        System.out.println(StringUtils.isAlphanumericSpace("zibo123 ")); // true

        // 11、判断字符串是否全是小写字母
        System.out.println(StringUtils.isAllLowerCase("zibo")); // true
        System.out.println(StringUtils.isAllLowerCase("ZiBo")); // false
        System.out.println(StringUtils.isAllLowerCase("ZIBO")); // false

        // 12、判断字符串是否全是大写字母
        System.out.println(StringUtils.isAllUpperCase("ZIBO")); // true
        System.out.println(StringUtils.isAllUpperCase("ZiBo")); // false
        System.out.println(StringUtils.isAllUpperCase("zibo")); // false

        // 13、判断源字符串是否包含目标字符串
        System.out.println(StringUtils.contains("zibo", "zibo")); // true
        // 可见,区分大小写!
        System.out.println(StringUtils.contains("zibo", "ZIBO")); // false
        System.out.println(StringUtils.contains("zibo", "")); // true
        // 不忽略空格,返回 `false` !
        System.out.println(StringUtils.contains("zibo", " ")); // false

        // 14、判断源字符串是否包含目标字节
        System.out.println(StringUtils.contains("zibo", 'z')); // true
        // 可见,区分大小写!
        System.out.println(StringUtils.contains("zibo", 'Z')); // false
        System.out.println(StringUtils.contains("zibo", 'a')); // false

        // 15、判断源字符串是否包含目标字符串(多目标)
        System.out.println(StringUtils.containsAny("zibo", "zibo")); // true
        // 多个目标字符串
        System.out.println(StringUtils.containsAny("zibo", "zi", "bo")); // true
        // 可见,区分大小写!
        System.out.println(StringUtils.containsAny("zibo", "ZIBO")); // false

        // 16、判断源字符串是否包含目标字节(多目标)
        // 多个目标字符串
        System.out.println(StringUtils.containsAny("zibo", 'z')); // true
        System.out.println(StringUtils.containsAny("zibo", 'z', 'b')); // true
        // 意料之外:有一个包含,也返回 `true` !
        System.out.println(StringUtils.containsAny("zibo", 'z', 'a')); // true
        System.out.println(StringUtils.containsAny("zibo", 'a')); // false

        // 17、去掉字符串前后空格(""返回"")
        // 为空时返回空,为 null 时返回 null(不是字符串null,防止空指针异常)
        System.out.println(StringUtils.trim(null)); // null
        System.out.println(StringUtils.trim(" zibo ")); // zibo
        System.out.println(StringUtils.trim(" ")); // ""

        // 18、去掉字符串前后空格(""返回 `null` )
        // 当为空时,返回 null(不是字符串null,防止空指针异常)
        System.out.println(StringUtils.trimToNull(null)); // null
        System.out.println(StringUtils.trimToNull(" zibo ")); // zibo
        System.out.println(StringUtils.trimToNull(" ")); // null

        // 19、去掉字符串前后空格(null返回"" )
        System.out.println(StringUtils.trimToEmpty(null)); // ""
        System.out.println(StringUtils.trimToEmpty(" zibo ")); // zibo
        System.out.println(StringUtils.trimToEmpty(" ")); // ""

        // 20、比较两个字符串是否相等(区分大小写)
        System.out.println(StringUtils.equals("zibo", "zibo")); // true
        System.out.println(StringUtils.equals("zibo", "ZIBO")); // false

        // 21、比较两个字符串是否相等(忽略大小写)
        System.out.println(StringUtils.equalsIgnoreCase("zibo", "zibo")); // true
        System.out.println(StringUtils.equalsIgnoreCase("zibo", "ZIBO")); // true

        // 22、查找目标字符串在源字符串中第一次出现的位置,没有返回-1
        System.out.println(StringUtils.indexOf("zibo", "z")); // 0
        System.out.println(StringUtils.indexOf("zibo", "a")); // -1

        // 23、查找目标字符串在源字符串中第一次出现的位置,没有返回-1(从指定位置开始查找)
        System.out.println(StringUtils.indexOf("zibo", "i", 0)); // 1
        System.out.println(StringUtils.indexOf("zibo", "i", 1)); // 1
        System.out.println(StringUtils.indexOf("zibo", "i", 2)); // -1

        // 24、查找数组中任意元素在源字符串中出现的索引位置,满足多个时,取最小值,没有返回-1(多目标)
        System.out.println(StringUtils.indexOfAny("zibo", "z", "i")); // 0
        System.out.println(StringUtils.indexOfAny("zibo", "b", "o")); // 2
        System.out.println(StringUtils.indexOfAny("zibo", "b", "t")); // 2

        // 25、字符串字母转小写
        System.out.println(StringUtils.lowerCase("ZIBO")); // zibo

        // 26、字符串字母转大写
        System.out.println(StringUtils.upperCase("zibo")); // ZIBO

        // 27、对 str 字符串进行省略号缩写
        // maxWidth 表示长度,必须大于等于4(表示缩写后的长度)
        System.out.println(StringUtils.abbreviate("zibo zibo zibo", 4)); // z...

        // 28、首字母转大写
        System.out.println(StringUtils.capitalize("zibo")); // Zibo

        // 29、将 str 前后用空格填充,使总长度达到 size
        // size 本身小于 str 长度时,不做填充
        System.out.println(StringUtils.center("zibo", 6)); // " zibo "

        // 30、使用指定字符串进行填充
        System.out.println(StringUtils.center("zibo", 6, "*")); // "*zibo*"

        // 31、比较字符串 str1 与 str2 的大小(区分大小写)
        System.out.println(StringUtils.compare("a", "a")); // 0
        System.out.println(StringUtils.compare("a", "b")); // -1
        System.out.println(StringUtils.compare("b", "a")); // 1
        System.out.println(StringUtils.compare("a", "A")); // 32

        // 32、比较字符串 str1 与 str2 的大小(忽略大小写)
        System.out.println(StringUtils.compareIgnoreCase("a", "A")); // 0
        System.out.println(StringUtils.compareIgnoreCase("a", null, true)); // 1
        System.out.println(StringUtils.compareIgnoreCase(null, null, true)); // 0
        System.out.println(StringUtils.compareIgnoreCase("a", null, false)); // -1
        System.out.println(StringUtils.compareIgnoreCase(null, null, false)); // 0
        System.out.println(StringUtils.compareIgnoreCase("z", null, true)); // 1
        System.out.println(StringUtils.compareIgnoreCase("z", null, false)); // -1

        // 33、查找某个目标字符/字符串在源字符串中出现的次数
        System.out.println(StringUtils.countMatches("zibo zibo zibo", "z")); // 3

        // 34、将数组使用指定分隔符连接
        // liubei,guanyu,zhangfei
        System.out.println(StringUtils.join(new String[]{"liubei", "guanyu", "zhangfei"}, ","));
        System.out.println(StringUtils.join("a", "b", "c")); // abc
        System.out.println(StringUtils.join(Arrays.asList("a", "b", "c"), ",")); // a,b,c
        // [a, b, c],[d, e, f]
        System.out.println(StringUtils.joinWith(",", Arrays.asList("a", "b", "c"), Arrays.asList("d", "e", "f")));

        // 35、如果字符串为 null 、""、 " ",则返回默认字符串
        System.out.println(StringUtils.defaultIfBlank(null, "default")); // default
        System.out.println(StringUtils.defaultIfBlank("", "default")); // default
        System.out.println(StringUtils.defaultIfBlank(" ", "default")); // default

        // 36、如果字符串为 null 、"" ,则返回默认字符串
        System.out.println(StringUtils.defaultIfEmpty(null, "default")); // default
        System.out.println(StringUtils.defaultIfEmpty("", "default")); // default
        System.out.println(StringUtils.defaultIfEmpty(" ", "default")); // " "
        // end
    }

}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 【commons-lang3专题】001-StringUtils 专题
  • 〇、准备
    • 1、StringUtils 主要作用
    • 2、引入依赖
  • 一、判断非空
    • 1、判断字符串是否为空:null、“”、" " 为 true ,其他为 false
    • 2、判断字符串是否非空(与 isBlank 相反):null、“”、" " 为 false ,其他为 true
    • 3、判断字符串是否为空:null、“” 为 true ,其他为 false
    • 4、判断字符串是否非空(与 isEmpty 相反):null、“” 为 false ,其他为 true
  • 二、判断类型
    • 5、判断字符串是否是数字,不忽略空格
    • 6、判断字符串是否是数字,忽略空格
    • 7、判断字符串是否是希腊字母,不忽略空格
    • 8、判断字符串是否是希腊字母,忽略空格
    • 9、判断字符串是否是希腊字母与数字组成,不忽略空格
    • 10、判断字符串是否是希腊字母与数字组成,忽略空格
  • 三、判断大小写
    • 11、判断字符串是否全是小写字母
    • 12、判断字符串是否全是大写字母
  • 四、判断包含
    • 13、判断源字符串是否包含目标字符串
    • 14、判断源字符串是否包含目标字节
    • 15、判断源字符串是否包含目标字符串(多目标)
    • 16、判断源字符串是否包含目标字节(多目标)
  • 五、去前后空格
    • 17、去掉字符串前后空格(““返回””)
    • 18、去掉字符串前后空格(""返回 null )
    • 19、去掉字符串前后空格(null返回"" )
  • 六、判断两个字符串是否相等
    • 20、比较两个字符串是否相等(区分大小写)
    • 21、比较两个字符串是否相等(忽略大小写)
  • 七、查找目标字符串位置
    • 22、查找目标字符串在源字符串中第一次出现的位置,没有返回-1
    • 23、查找目标字符串在源字符串中第一次出现的位置,没有返回-1(从指定位置开始查找)
    • 24、查找数组中任意元素在源字符串中出现的索引位置,满足多个时,取最小值,没有返回-1(多目标)
  • 八、大小写转换
    • 25、字符串字母转小写
    • 26、字符串字母转大写
    • 27、首字母转大写
  • 九、省略与补充
    • 28、对 str 字符串进行省略号缩写
    • 29、将 str 前后用空格填充,使总长度达到 size
    • 30、使用指定字符串进行填充
  • 十、比较字符串
    • 31、比较字符串 str1 与 str2 的大小(区分大小写)
    • 32、比较字符串 str1 与 str2 的大小(忽略大小写)
  • 十一、查找出现次数
    • 33、查找某个目标字符/字符串在源字符串中出现的次数
  • 十二、分隔符分隔
    • 34、将数组使用指定分隔符连接
  • 十三、为空默认值
    • 35、如果字符串为 null 、“”、 " ",则返回默认字符串
    • 36、如果字符串为 null 、“” ,则返回默认字符串
  • 十四、完整代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档