StringUtils类常用方法:转换、移除、替换、反转

本文详细介绍了使用StringUtils进行字符串的大小写转换、移除、替换及反转等操作方法,并提供了丰富的示例代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载地址:http://www.cnblogs.com/guiblog/p/7787569.html

一、转换

  StringUtils中涉及大小写转换以及判断字符串大小写的方法如下:

    1)StringUtils.capitalize(String str)
    2)StringUtils.uncapitalize(String str)
    3)StringUtils.upperCase(String str)
    4)StringUtils.upperCase(String str,Locale locale)
    5)StringUtils.lowerCase(String str)
    6)StringUtils.lowerCase(String str,Locale locale)
    7)StringUtils.swapCase(String str)
    8)StringUtils.isAllUpperCase(CharSequence cs)
    9)StringUtils.isAllLowerCase(CharSequence cs)

  (1)字符串首字母大小写转换

    StringUtils.capitalize(null)); // null (注意此处不会报异常)
    StringUtils.capitalize("china")); // China (首字母转大写)
    StringUtils.uncapitalize(null)); // null  
    StringUtils.uncapitalize("CHINA")); // cHINA (首字母转小写)

  (2)字符串整体大小写转换

    StringUtils.upperCase(null)); // null
    StringUtils.upperCase("china")); // CHINA (全部转为大写)
    StringUtils.upperCase("china", Locale.ENGLISH)); // CHINA (按照指定规则转换为大写)
    StringUtils.lowerCase(null)); // null
    StringUtils.lowerCase("CHINA")); // china (全部转换为小写)
    StringUtils.lowerCase("CHINA", Locale.ENGLISH)); // china (按照指定转换规则转换为小写)
 

  (3)字符串大小写互换

    StringUtils.swapCase(null)); // null
    StringUtils.swapCase("chINA")); // CHina

  (4)判断字符串是否全部是大写或小写(空或空白符均为false)

    StringUtils.isAllUpperCase(null)); // false
    StringUtils.isAllUpperCase("")); // false
    StringUtils.isAllUpperCase(" ")); // false
    StringUtils.isAllUpperCase("CHINA")); // true
    StringUtils.isAllLowerCase(null)); // false
    StringUtils.isAllLowerCase("")); // false
    StringUtils.isAllLowerCase(" ")); // false
    StringUtils.isAllLowerCase("china")); // true

二、移除

  从字符串中移除匹配的字符或字符序列,如果要移除的字符或字符序列在字符串中不存在,即无匹配,则不进行移除

    1)StringUtils.remove(String str, char remove)
    2)StringUtils.remove(String str, String remove)
    3)StringUtils.removeStart(String str, String remove)
    4)StringUtils.removeStartIgnoreCase(String str, String remove)
    5)StringUtils.removeEnd(String str, String remove)
    6)StringUtils.removeEndIgnoreCase(String str, String remove)
    7)StringUtils.deleteWhitespace(String str)

  (1)移除单个字符

    StringUtils.remove(null, 'a')); // null (注意此处及下一行为null)
    StringUtils.remove('china', null) // china 
    StringUtils.remove("china", 'i')); // chna
    StringUtils.remove("china", 'b')); // china (如果要移除的字符不存在,则返回原字符串)

  (2)移除指定字符序列

    StringUtils.remove("china", "in")); // cha
    StringUtils.remove("china", "nin")); // china

  (3)移除开头匹配的字符序列

    StringUtils.removeStart("china", "ch")); // ina
    StringUtils.removeStartIgnoreCase("china", "CHI")); // na (忽略大小写)

  (4)移除结尾匹配的字符序列

    StringUtils.removeEnd("china", "na")); // chi
    StringUtils.removeEndIgnoreCase("china", "NA")); // chi (忽略大小写)

  (5)移除空白字符

    StringUtils.deleteWhitespace(null)); //null
    StringUtils.deleteWhitespace(" c h  i\tn\ra")); // china

三、替换

  StringUtils中常用的替换方法有如下几种

    1)replace(String text, String searchString, String replacement)
    2replace(String text, String searchString, String replacement, int max)
    3)replaceChars(String str, char searchChar, char replaceChar)
    4)replaceChars(String str, String searchChars, String replaceChars)
    5)replaceOnce(String text, String searchString, String replacement)
    6)overlay(String str,String overlay,int start,int end)
    7)replaceEach(String text, String[] searchList, String[] replacementList)
    8)replaceEachRepeatedly(String text, String[] searchList, String[]replacementList)

  需要注意的是,若被替换的字符串为null,或者被替换的字符或字符序列为null,又或者替换的字符或字符序列为null,那么此次替换都会被忽略,返回原字符串

  (1)替换单个字符或字符序列

    (a)replace方法

      replace方法可以替换单个字符序列

        StringUtils.replace("china", null, "z")); // china (此处被替换字符序列为null,因此替换会被忽略,返回原字符串)
        StringUtils.replace("china", "c", null)); // china (此处替换字符序列为null,因此替换也被忽略,返回原字符串)
        StringUtils.replace("china", "a", "ese")); // chinese
        StringUtils.replace("china", "a", "")); // chin

      replace方法还可以指定最大替换的个数

        StringUtils.replace("aabaaa", "a", "z", 0)); // aabaaa (0表示替换的个数为0,也就是不替换)
        StringUtils.replace("aabaaa", "a", "z", 1)); // zabaaa (1表示最多替换1个)
        StringUtils.replace("aabaaa", "a", "z", 2)); // zzbaaa (2表示最多替换2个)
        StringUtils.replace("aabaaa", "a", "z", 3)); // zzbzaa (3表示最多替换3个)
        StringUtils.replace("aabaaa", "a", "z", -1)); // zzbzaa (-1表示全部替换)

    (b)replaceChars方法

      replaceChars方法可以替换单个字符或者单个字符序列

        StringUtils.replaceChars("china", 'a', 'z')); // chinz
        StringUtils.replaceChars("china", "a", "z")); // chinz

    (c)replaceOnce方法

      replaceOnce方法只会替换一次,也就是只会替换第一个要替换的字符序列,后面即使有匹配的字符序列也不会被替换

        StringUtils.replaceOnce("abaa", "a", "z")); // zbaa

    (d)overlay方法

      overlay(String str,String overlay,int start,int end)方法可以在指定位置进行字符序列替换,从start索引处开始(包含)到end-1索引处为止进行替换

         StringUtils.overlay("abcdef", "zzzz", 2, 4)); // abzzzzef

      这里有一些特殊情况:

      1)起始索引start小于结束索引end,这时会将end作为起始索引,start作为结束索引

         StringUtils.overlay("abcdef", "zzzz", 4, 2)); // abzzzzef
         StringUtils.overlay("abcdef", "zzzz", 4, 3)); // abczzzzef
         StringUtils.overlay("abcdef", "zzzz", 4, 4)); // abcdzzzzef
         StringUtils.overlay("abcdef", "zzzz", 4, 5)); // abcdzzzzf

      2)起始索引start为负数,这时start会被当作0处理

         StringUtils.overlay("abcdef", "zzzz", -1, 2)); // abcdzz
         StringUtils.overlay("abcdef", "zzzz", -2, -3)); // zzzzabcdef

      3)结束索引end大于原始字符串的长度,这时end会被当作原始字符串长度处理

         StringUtils.overlay("abcdef", "zzzz", 8, 10)); // abcdefzzzz

  (2)同时替换多个字符序列

    (a)replaceEach方法

      replaceEach(String text, String[] searchList, String[] replacementList)方法可以同时替换多个字符序列,但被替换和替换的字符序列的个数应该对应,否则会报IllegalArgumentException

         StringUtils.replaceEach("china", new String[] { "ch", "a" }, new String[] { "x", "z" })); // xhinz (将ch和a分别替换为x和z)
         StringUtils.replaceEach("china", null, new String[] { "x", "z" })); // china (存在null,不进行替换)
         StringUtils.replaceEach("china", new String[] { "ch", "a" }, new String[] { "x", "z", "y" })); // IllegalArgumentException (被替换和替换的个数不对应)
           

    (b)replaceEachRepeatedly方法

      replaceEachRepeatedly(String text, String[] searchList, String[] replacementList)方法可以循环进行替换,具体见下面的例子:

           StringUtils.replaceEachRepeatedly("china", new String[] { "c", "x" }, new String[] { "x", "z" })); // zhina (c被替换为x,x又被替换为z)

      但如果替换是一个死循环,则会报IllegalStateException:

           StringUtils.replaceEachRepeatedly("china", new String[] { "c", "x" }, new String[] { "x", "c" })); // IllegalStateException (c被替换为x,x又被替换为c)

四、反转

  StringUtils中有关反转的方法如下:

    1)reverse(String str)
    2)reverseDelimited(String str, char separatorChar)

  (1)简单反转

  reverse(String str)方法

    StringUtils.reverse("china")); // anihc

  (2)根据指定分隔符进行反转,分隔符之间的字符不进行反转

    StringUtils.reverseDelimited("china", ',')); // china
    StringUtils.reverseDelimited("cxhinxa", 'x')); // axhinxz
    StringUtils.reverseDelimited("c.hin.a", '.')); // a.hin.c
    StringUtils.reverseDelimited("c.hina", '.')); // hina.c
### 回答1: org.apache.commons.lang3.stringutils.jar 是一个用于处理字符串的 Java 库。它属于 Apache Commons Lang 项目的一部分。 这个库提供了许多方便且常用的字符串处理方法。比如,它包含了处理空字符串的方法,如判断字符串是否为空或只包含空格、移除字符串中的空格等。它还提供了一些字符串操作的方法,如字符串的截取、连接、反转等。此外,它还提供了一些处理字符的方法,如判断字符串是否为数字、字母或空白字符、转换字符串大小写等。 org.apache.commons.lang3.stringutils.jar 还包含了一些处理字符串数组的方法。比如,它提供了根据某个字符或字符串将字符串数组连接成一个字符串的方法,也可以将字符串数组按照指定规则进行分割。 此外,这个库还提供了一些处理字符串的其他实用方法,如字符串的填充、重复、截断等。它还提供了一些转换字符串格式的方法,如将字符串转换为 camelCase、snake_case 或 kebab-case 等。 总结来说,org.apache.commons.lang3.stringutils.jar 是一个功能强大且实用的字符串处理库,它提供了丰富的方法来方便开发者对字符串进行各种操作和处理。使用这个库可以有效地简化开发过程,并提高代码的可读性和可维护性。同时,Apache Commons Lang 项目作为一个广泛使用的开源项目,拥有活跃的社区和可靠的技术支持,能够提供稳定可靠的使用体验。 ### 回答2: org.apache.commons.lang3.stringutils.jar 是一个用于字符串操作的Java库,它是Apache Commons项目的一部分。在这个库中,org.apache.commons.lang3.stringutils.jar 提供了许多实用的字符串处理方法和工具。 首先,该库提供了一系列静态方法,可以对字符串进行常见的操作,例如判断字符串是否为空、去除字符串中的空格、判断字符串是否包含特定字符等。这些方法有助于简化开发人员对字符串的处理和验证。 其次,lib库还提供了各种字符串操作的工具。例如,StringUtils提供了一系列高效的字符串操作方法,如截取字符串、替换字符串、大小写转换等。此外,StringEscapeUtils提供了用于转义HTML、XML和Java字符串的方法,有助于避免特殊字符引起的问题。 此外,该库还包含了一些用于字符串比较和匹配的工具。例如,StringUtils提供了进行字符串比较的方法,可以根据不同的比较规则进行字符串的比较。此外,RegExUtils提供了一些用于正则表达式匹配的方法,可以方便地根据正则表达式进行模式匹配和替换。 总之,org.apache.commons.lang3.stringutils.jar 提供了丰富的字符串处理方法和工具,可以简化开发人员对字符串的操作,并且提供了高效、易用的字符串处理解决方案。无论是开发web应用、桌面应用还是其他型的应用,该库都是一个非常有价值的工具。 ### 回答3: org.apache.commons.lang3.stringutils.jar 是一个 Java 库,它是 Apache Commons Lang 的一部分。这个库提供了一系列用于字符串处理的实用方法和工具。 在 org.apache.commons.lang3.stringutils.jar 中,有很多常用的字符串处理方法,例如: - isBlank() 方法用于判断字符串是否为空白(即全部由空格、制表符、换行符等组成)。 - isEmpty() 方法用于判断字符串是否为空(即长度为0)。 - capitalize() 方法用于将字符串的首字母大写,并将其他字符保持不变。 - uncapitalize() 方法用于将字符串的首字母小写,并将其他字符保持不变。 - join() 方法用于将一个数组或集合中的元素以指定的分隔符连接起来,形成一个新的字符串。 - contains() 方法用于判断字符串是否包含指定的字符序列。 - substring() 方法用于获取字符串的子串。 - swapCase() 方法用于将字符串中的大小写字母进行转换,大写字母转换为小写字母,小写字母转换为大写字母。 除了上述方法外,org.apache.commons.lang3.stringutils.jar 还提供了很多其他实用的字符串处理方法,用于处理字符串的拆分、替换、删除、填充等操作。这些方法都被封装在 StringUtils 中,可以直接调用使用。 在开发过程中,使用 org.apache.commons.lang3.stringutils.jar 可以方便地处理字符串,提高开发效率和代码质量。同时,由于是开源库,还可以根据需要进行修改和定制,使其更符合实际需求。 总之,org.apache.commons.lang3.stringutils.jar 是一个值得使用的字符串处理库,它提供了丰富的方法和工具,可以简化字符串的处理过程。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值