类 StringUtils

java.lang.Object
com.xingyuv.captcha.util.StringUtils

public class StringUtils extends Object
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    static final String
    The empty String "".
    static final int
    Represents a failed index search.
    private static final int
    The maximum size to which the padding constant(s) can expand.
  • 构造器概要

    构造器
    构造器
    说明
    StringUtils instances should NOT be constructed in standard programming.
  • 方法概要

    修饰符和类型
    方法
    说明
    static String
    已过时。
    Use the clearer named trimToEmpty(String).
    static boolean
    contains(String str, char searchChar)
    Checks if String contains a search character, handling null.
    static boolean
    contains(String str, String searchStr)
    Checks if String contains a search String, handling null.
    static boolean
    containsIgnoreCase(String str, String searchStr)
    Checks if String contains a search String irrespective of case, handling null.
    static boolean
    equals(String str1, String str2)
    Compares two Strings, returning true if they are equal.
    static boolean
    Compares two Strings, returning true if they are equal ignoring the case.
    static int
    indexOf(String str, char searchChar)
    Finds the first index within a String, handling null.
    static int
    indexOf(String str, char searchChar, int startPos)
    Finds the first index within a String from a start position, handling null.
    static int
    indexOf(String str, String searchStr)
    Finds the first index within a String, handling null.
    static int
    indexOf(String str, String searchStr, int startPos)
    Finds the first index within a String, handling null.
    static int
    indexOfAny(String str, String[] searchStrs)
    Find the first index of any of a set of potential substrings.
    static int
    indexOfIgnoreCase(String str, String searchStr)
    Case in-sensitive find of the first index within a String.
    static int
    indexOfIgnoreCase(String str, String searchStr, int startPos)
    Case in-sensitive find of the first index within a String from the specified position.
    static boolean
    Checks if a String is whitespace, empty ("") or null.
    static boolean
    Checks if a String is empty ("") or null.
    static boolean
    Checks if a String is not empty (""), not null and not whitespace only.
    static boolean
    Checks if a String is not empty ("") and not null.
    static int
    lastIndexOf(String str, char searchChar)
    Finds the last index within a String, handling null.
    static int
    lastIndexOf(String str, char searchChar, int startPos)
    Finds the last index within a String from a start position, handling null.
    static int
    lastIndexOf(String str, String searchStr)
    Finds the last index within a String, handling null.
    static int
    lastIndexOf(String str, String searchStr, int startPos)
    Finds the first index within a String, handling null.
    static int
    lastIndexOfAny(String str, String[] searchStrs)
    Find the latest index of any of a set of potential substrings.
    static int
    Case in-sensitive find of the last index within a String.
    static int
    lastIndexOfIgnoreCase(String str, String searchStr, int startPos)
    Case in-sensitive find of the last index within a String from the specified position.
    static int
    lastOrdinalIndexOf(String str, String searchStr, int ordinal)
    Finds the n-th last index within a String, handling null.
    static String
    left(String str, int len)
    Gets the leftmost len characters of a String.
    static String
    mid(String str, int pos, int len)
    Gets len characters from the middle of a String.
    static int
    ordinalIndexOf(String str, String searchStr, int ordinal)
    Finds the n-th index within a String, handling null.
    private static int
    ordinalIndexOf(String str, String searchStr, int ordinal, boolean lastIndex)
    Finds the n-th index within a String, handling null.
    static String
    right(String str, int len)
    Gets the rightmost len characters of a String.
    static String
    Strips whitespace from the start and end of a String.
    static String
    strip(String str, String stripChars)
    Strips any of a set of characters from the start and end of a String.
    static String[]
    stripAll(String[] strs)
    Strips whitespace from the start and end of every String in an array.
    static String[]
    stripAll(String[] strs, String stripChars)
    Strips any of a set of characters from the start and end of every String in an array.
    static String
    stripEnd(String str, String stripChars)
    Strips any of a set of characters from the end of a String.
    static String
    stripStart(String str, String stripChars)
    Strips any of a set of characters from the start of a String.
    static String
    Strips whitespace from the start and end of a String returning an empty String if null input.
    static String
    Strips whitespace from the start and end of a String returning null if the String is empty ("") after the strip.
    static String
    substring(String str, int start)
    Gets a substring from the specified String avoiding exceptions.
    static String
    substring(String str, int start, int end)
    Gets a substring from the specified String avoiding exceptions.
    static String
    substringAfter(String str, String separator)
    Gets the substring after the first occurrence of a separator.
    static String
    substringAfterLast(String str, String separator)
    Gets the substring after the last occurrence of a separator.
    static String
    substringBefore(String str, String separator)
    Gets the substring before the first occurrence of a separator.
    static String
    Gets the substring before the last occurrence of a separator.
    static String
    Gets the String that is nested in between two instances of the same String.
    static String
    substringBetween(String str, String open, String close)
    Gets the String that is nested in between two Strings.
    static String
    trim(String str)
    Removes control characters (char <= 32) from both ends of this String, handling null by returning null.
    static String
    Removes control characters (char <= 32) from both ends of this String returning an empty String ("") if the String is empty ("") after the trim or if it is null.
    static String
    Removes control characters (char <= 32) from both ends of this String returning null if the String is empty ("") after the trim or if it is null.

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 字段详细资料

    • EMPTY

      public static final String EMPTY
      The empty String "".
      从以下版本开始:
      2.0
      另请参阅:
    • INDEX_NOT_FOUND

      public static final int INDEX_NOT_FOUND
      Represents a failed index search.
      从以下版本开始:
      2.1
      另请参阅:
    • PAD_LIMIT

      private static final int PAD_LIMIT

      The maximum size to which the padding constant(s) can expand.

      另请参阅:
  • 构造器详细资料

    • StringUtils

      public StringUtils()

      StringUtils instances should NOT be constructed in standard programming. Instead, the class should be used as StringUtils.trim(" foo ");.

      This constructor is public to permit tools that require a JavaBean instance to operate.

  • 方法详细资料

    • isEmpty

      public static boolean isEmpty(String str)

      Checks if a String is empty ("") or null.

       StringUtils.isEmpty(null)      = true
       StringUtils.isEmpty("")        = true
       StringUtils.isEmpty(" ")       = false
       StringUtils.isEmpty("bob")     = false
       StringUtils.isEmpty("  bob  ") = false
       

      NOTE: This method changed in Lang version 2.0. It no longer trims the String. That functionality is available in isBlank().

      参数:
      str - the String to check, may be null
      返回:
      true if the String is empty or null
    • isNotEmpty

      public static boolean isNotEmpty(String str)

      Checks if a String is not empty ("") and not null.

       StringUtils.isNotEmpty(null)      = false
       StringUtils.isNotEmpty("")        = false
       StringUtils.isNotEmpty(" ")       = true
       StringUtils.isNotEmpty("bob")     = true
       StringUtils.isNotEmpty("  bob  ") = true
       
      参数:
      str - the String to check, may be null
      返回:
      true if the String is not empty and not null
    • isBlank

      public static boolean isBlank(String str)

      Checks if a String is whitespace, empty ("") or null.

       StringUtils.isBlank(null)      = true
       StringUtils.isBlank("null")      = true
       StringUtils.isBlank("")        = true
       StringUtils.isBlank(" ")       = true
       StringUtils.isBlank("bob")     = false
       StringUtils.isBlank("  bob  ") = false
       
      参数:
      str - the String to check, may be null
      返回:
      true if the String is null, empty or whitespace
      从以下版本开始:
      2.0
    • isNotBlank

      public static boolean isNotBlank(String str)

      Checks if a String is not empty (""), not null and not whitespace only.

       StringUtils.isNotBlank(null)      = false
       StringUtils.isNotBlank("null")    = false
       StringUtils.isNotBlank("")        = false
       StringUtils.isNotBlank(" ")       = false
       StringUtils.isNotBlank("bob")     = true
       StringUtils.isNotBlank("  bob  ") = true
       
      参数:
      str - the String to check, may be null
      返回:
      true if the String is not empty and not null and not whitespace
      从以下版本开始:
      2.0
    • clean

      public static String clean(String str)
      已过时。
      Use the clearer named trimToEmpty(String). Method will be removed in Commons Lang 3.0.

      Removes control characters (char <= 32) from both ends of this String, handling null by returning an empty String ("").

       StringUtils.clean(null)          = ""
       StringUtils.clean("")            = ""
       StringUtils.clean("abc")         = "abc"
       StringUtils.clean("    abc    ") = "abc"
       StringUtils.clean("     ")       = ""
       
      参数:
      str - the String to clean, may be null
      返回:
      the trimmed text, never null
      另请参阅:
    • trim

      public static String trim(String str)

      Removes control characters (char <= 32) from both ends of this String, handling null by returning null.

      The String is trimmed using String.trim(). Trim removes start and end characters <= 32. To strip whitespace use strip(String).

      To trim your choice of characters, use the strip(String, String) methods.

       StringUtils.trim(null)          = null
       StringUtils.trim("")            = ""
       StringUtils.trim("     ")       = ""
       StringUtils.trim("abc")         = "abc"
       StringUtils.trim("    abc    ") = "abc"
       
      参数:
      str - the String to be trimmed, may be null
      返回:
      the trimmed string, null if null String input
    • trimToNull

      public static String trimToNull(String str)

      Removes control characters (char <= 32) from both ends of this String returning null if the String is empty ("") after the trim or if it is null.

      The String is trimmed using String.trim(). Trim removes start and end characters <= 32. To strip whitespace use stripToNull(String).

       StringUtils.trimToNull(null)          = null
       StringUtils.trimToNull("")            = null
       StringUtils.trimToNull("     ")       = null
       StringUtils.trimToNull("abc")         = "abc"
       StringUtils.trimToNull("    abc    ") = "abc"
       
      参数:
      str - the String to be trimmed, may be null
      返回:
      the trimmed String, null if only chars <= 32, empty or null String input
      从以下版本开始:
      2.0
    • trimToEmpty

      public static String trimToEmpty(String str)

      Removes control characters (char <= 32) from both ends of this String returning an empty String ("") if the String is empty ("") after the trim or if it is null.

      The String is trimmed using String.trim(). Trim removes start and end characters <= 32. To strip whitespace use stripToEmpty(String).

       StringUtils.trimToEmpty(null)          = ""
       StringUtils.trimToEmpty("")            = ""
       StringUtils.trimToEmpty("     ")       = ""
       StringUtils.trimToEmpty("abc")         = "abc"
       StringUtils.trimToEmpty("    abc    ") = "abc"
       
      参数:
      str - the String to be trimmed, may be null
      返回:
      the trimmed String, or an empty String if null input
      从以下版本开始:
      2.0
    • strip

      public static String strip(String str)

      Strips whitespace from the start and end of a String.

      This is similar to trim(String) but removes whitespace. Whitespace is defined by Character.isWhitespace(char).

      A null input String returns null.

       StringUtils.strip(null)     = null
       StringUtils.strip("")       = ""
       StringUtils.strip("   ")    = ""
       StringUtils.strip("abc")    = "abc"
       StringUtils.strip("  abc")  = "abc"
       StringUtils.strip("abc  ")  = "abc"
       StringUtils.strip(" abc ")  = "abc"
       StringUtils.strip(" ab c ") = "ab c"
       
      参数:
      str - the String to remove whitespace from, may be null
      返回:
      the stripped String, null if null String input
    • stripToNull

      public static String stripToNull(String str)

      Strips whitespace from the start and end of a String returning null if the String is empty ("") after the strip.

      This is similar to trimToNull(String) but removes whitespace. Whitespace is defined by Character.isWhitespace(char).

       StringUtils.stripToNull(null)     = null
       StringUtils.stripToNull("")       = null
       StringUtils.stripToNull("   ")    = null
       StringUtils.stripToNull("abc")    = "abc"
       StringUtils.stripToNull("  abc")  = "abc"
       StringUtils.stripToNull("abc  ")  = "abc"
       StringUtils.stripToNull(" abc ")  = "abc"
       StringUtils.stripToNull(" ab c ") = "ab c"
       
      参数:
      str - the String to be stripped, may be null
      返回:
      the stripped String, null if whitespace, empty or null String input
      从以下版本开始:
      2.0
    • stripToEmpty

      public static String stripToEmpty(String str)

      Strips whitespace from the start and end of a String returning an empty String if null input.

      This is similar to trimToEmpty(String) but removes whitespace. Whitespace is defined by Character.isWhitespace(char).

       StringUtils.stripToEmpty(null)     = ""
       StringUtils.stripToEmpty("")       = ""
       StringUtils.stripToEmpty("   ")    = ""
       StringUtils.stripToEmpty("abc")    = "abc"
       StringUtils.stripToEmpty("  abc")  = "abc"
       StringUtils.stripToEmpty("abc  ")  = "abc"
       StringUtils.stripToEmpty(" abc ")  = "abc"
       StringUtils.stripToEmpty(" ab c ") = "ab c"
       
      参数:
      str - the String to be stripped, may be null
      返回:
      the trimmed String, or an empty String if null input
      从以下版本开始:
      2.0
    • strip

      public static String strip(String str, String stripChars)

      Strips any of a set of characters from the start and end of a String. This is similar to String.trim() but allows the characters to be stripped to be controlled.

      A null input String returns null. An empty string ("") input returns the empty string.

      If the stripChars String is null, whitespace is stripped as defined by Character.isWhitespace(char). Alternatively use strip(String).

       StringUtils.strip(null, *)          = null
       StringUtils.strip("", *)            = ""
       StringUtils.strip("abc", null)      = "abc"
       StringUtils.strip("  abc", null)    = "abc"
       StringUtils.strip("abc  ", null)    = "abc"
       StringUtils.strip(" abc ", null)    = "abc"
       StringUtils.strip("  abcyx", "xyz") = "  abc"
       
      参数:
      str - the String to remove characters from, may be null
      stripChars - the characters to remove, null treated as whitespace
      返回:
      the stripped String, null if null String input
    • stripStart

      public static String stripStart(String str, String stripChars)

      Strips any of a set of characters from the start of a String.

      A null input String returns null. An empty string ("") input returns the empty string.

      If the stripChars String is null, whitespace is stripped as defined by Character.isWhitespace(char).

       StringUtils.stripStart(null, *)          = null
       StringUtils.stripStart("", *)            = ""
       StringUtils.stripStart("abc", "")        = "abc"
       StringUtils.stripStart("abc", null)      = "abc"
       StringUtils.stripStart("  abc", null)    = "abc"
       StringUtils.stripStart("abc  ", null)    = "abc  "
       StringUtils.stripStart(" abc ", null)    = "abc "
       StringUtils.stripStart("yxabc  ", "xyz") = "abc  "
       
      参数:
      str - the String to remove characters from, may be null
      stripChars - the characters to remove, null treated as whitespace
      返回:
      the stripped String, null if null String input
    • stripEnd

      public static String stripEnd(String str, String stripChars)

      Strips any of a set of characters from the end of a String.

      A null input String returns null. An empty string ("") input returns the empty string.

      If the stripChars String is null, whitespace is stripped as defined by Character.isWhitespace(char).

       StringUtils.stripEnd(null, *)          = null
       StringUtils.stripEnd("", *)            = ""
       StringUtils.stripEnd("abc", "")        = "abc"
       StringUtils.stripEnd("abc", null)      = "abc"
       StringUtils.stripEnd("  abc", null)    = "  abc"
       StringUtils.stripEnd("abc  ", null)    = "abc"
       StringUtils.stripEnd(" abc ", null)    = " abc"
       StringUtils.stripEnd("  abcyx", "xyz") = "  abc"
       StringUtils.stripEnd("120.00", ".0")   = "12"
       
      参数:
      str - the String to remove characters from, may be null
      stripChars - the set of characters to remove, null treated as whitespace
      返回:
      the stripped String, null if null String input
    • stripAll

      public static String[] stripAll(String[] strs)

      Strips whitespace from the start and end of every String in an array. Whitespace is defined by Character.isWhitespace(char).

      A new array is returned each time, except for length zero. A null array will return null. An empty array will return itself. A null array entry will be ignored.

       StringUtils.stripAll(null)             = null
       StringUtils.stripAll([])               = []
       StringUtils.stripAll(["abc", "  abc"]) = ["abc", "abc"]
       StringUtils.stripAll(["abc  ", null])  = ["abc", null]
       
      参数:
      strs - the array to remove whitespace from, may be null
      返回:
      the stripped Strings, null if null array input
    • stripAll

      public static String[] stripAll(String[] strs, String stripChars)

      Strips any of a set of characters from the start and end of every String in an array.

      Whitespace is defined by Character.isWhitespace(char).

      A new array is returned each time, except for length zero. A null array will return null. An empty array will return itself. A null array entry will be ignored. A null stripChars will strip whitespace as defined by Character.isWhitespace(char).

       StringUtils.stripAll(null, *)                = null
       StringUtils.stripAll([], *)                  = []
       StringUtils.stripAll(["abc", "  abc"], null) = ["abc", "abc"]
       StringUtils.stripAll(["abc  ", null], null)  = ["abc", null]
       StringUtils.stripAll(["abc  ", null], "yz")  = ["abc  ", null]
       StringUtils.stripAll(["yabcz", null], "yz")  = ["abc", null]
       
      参数:
      strs - the array to remove characters from, may be null
      stripChars - the characters to remove, null treated as whitespace
      返回:
      the stripped Strings, null if null array input
    • equals

      public static boolean equals(String str1, String str2)

      Compares two Strings, returning true if they are equal.

      nulls are handled without exceptions. Two null references are considered to be equal. The comparison is case sensitive.

       StringUtils.equals(null, null)   = true
       StringUtils.equals(null, "abc")  = false
       StringUtils.equals("abc", null)  = false
       StringUtils.equals("abc", "abc") = true
       StringUtils.equals("abc", "ABC") = false
       
      参数:
      str1 - the first String, may be null
      str2 - the second String, may be null
      返回:
      true if the Strings are equal, case sensitive, or both null
      另请参阅:
    • equalsIgnoreCase

      public static boolean equalsIgnoreCase(String str1, String str2)

      Compares two Strings, returning true if they are equal ignoring the case.

      nulls are handled without exceptions. Two null references are considered equal. Comparison is case insensitive.

       StringUtils.equalsIgnoreCase(null, null)   = true
       StringUtils.equalsIgnoreCase(null, "abc")  = false
       StringUtils.equalsIgnoreCase("abc", null)  = false
       StringUtils.equalsIgnoreCase("abc", "abc") = true
       StringUtils.equalsIgnoreCase("abc", "ABC") = true
       
      参数:
      str1 - the first String, may be null
      str2 - the second String, may be null
      返回:
      true if the Strings are equal, case insensitive, or both null
      另请参阅:
    • indexOf

      public static int indexOf(String str, char searchChar)

      Finds the first index within a String, handling null. This method uses String.indexOf(int).

      A null or empty ("") String will return INDEX_NOT_FOUND (-1).

       StringUtils.indexOf(null, *)         = -1
       StringUtils.indexOf("", *)           = -1
       StringUtils.indexOf("aabaabaa", 'a') = 0
       StringUtils.indexOf("aabaabaa", 'b') = 2
       
      参数:
      str - the String to check, may be null
      searchChar - the character to find
      返回:
      the first index of the search character, -1 if no match or null string input
      从以下版本开始:
      2.0
    • indexOf

      public static int indexOf(String str, char searchChar, int startPos)

      Finds the first index within a String from a start position, handling null. This method uses String.indexOf(int, int).

      A null or empty ("") String will return (INDEX_NOT_FOUND) -1. A negative start position is treated as zero. A start position greater than the string length returns -1.

       StringUtils.indexOf(null, *, *)          = -1
       StringUtils.indexOf("", *, *)            = -1
       StringUtils.indexOf("aabaabaa", 'b', 0)  = 2
       StringUtils.indexOf("aabaabaa", 'b', 3)  = 5
       StringUtils.indexOf("aabaabaa", 'b', 9)  = -1
       StringUtils.indexOf("aabaabaa", 'b', -1) = 2
       
      参数:
      str - the String to check, may be null
      searchChar - the character to find
      startPos - the start position, negative treated as zero
      返回:
      the first index of the search character, -1 if no match or null string input
      从以下版本开始:
      2.0
    • indexOf

      public static int indexOf(String str, String searchStr)

      Finds the first index within a String, handling null. This method uses String.indexOf(String).

      A null String will return -1.

       StringUtils.indexOf(null, *)          = -1
       StringUtils.indexOf(*, null)          = -1
       StringUtils.indexOf("", "")           = 0
       StringUtils.indexOf("", *)            = -1 (except when * = "")
       StringUtils.indexOf("aabaabaa", "a")  = 0
       StringUtils.indexOf("aabaabaa", "b")  = 2
       StringUtils.indexOf("aabaabaa", "ab") = 1
       StringUtils.indexOf("aabaabaa", "")   = 0
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      返回:
      the first index of the search String, -1 if no match or null string input
      从以下版本开始:
      2.0
    • ordinalIndexOf

      public static int ordinalIndexOf(String str, String searchStr, int ordinal)

      Finds the n-th index within a String, handling null. This method uses String.indexOf(String).

      A null String will return -1.

       StringUtils.ordinalIndexOf(null, *, *)          = -1
       StringUtils.ordinalIndexOf(*, null, *)          = -1
       StringUtils.ordinalIndexOf("", "", *)           = 0
       StringUtils.ordinalIndexOf("aabaabaa", "a", 1)  = 0
       StringUtils.ordinalIndexOf("aabaabaa", "a", 2)  = 1
       StringUtils.ordinalIndexOf("aabaabaa", "b", 1)  = 2
       StringUtils.ordinalIndexOf("aabaabaa", "b", 2)  = 5
       StringUtils.ordinalIndexOf("aabaabaa", "ab", 1) = 1
       StringUtils.ordinalIndexOf("aabaabaa", "ab", 2) = 4
       StringUtils.ordinalIndexOf("aabaabaa", "", 1)   = 0
       StringUtils.ordinalIndexOf("aabaabaa", "", 2)   = 0
       

      Note that 'head(String str, int n)' may be implemented as:

         str.substring(0, lastOrdinalIndexOf(str, "\n", n))
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      ordinal - the n-th searchStr to find
      返回:
      the n-th index of the search String, -1 (INDEX_NOT_FOUND) if no match or null string input
      从以下版本开始:
      2.1
    • ordinalIndexOf

      private static int ordinalIndexOf(String str, String searchStr, int ordinal, boolean lastIndex)

      Finds the n-th index within a String, handling null. This method uses String.indexOf(String).

      A null String will return -1.

      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      ordinal - the n-th searchStr to find
      lastIndex - true if lastOrdinalIndexOf() otherwise false if ordinalIndexOf()
      返回:
      the n-th index of the search String, -1 (INDEX_NOT_FOUND) if no match or null string input
    • indexOf

      public static int indexOf(String str, String searchStr, int startPos)

      Finds the first index within a String, handling null. This method uses String.indexOf(String, int).

      A null String will return -1. A negative start position is treated as zero. An empty ("") search String always matches. A start position greater than the string length only matches an empty search String.

       StringUtils.indexOf(null, *, *)          = -1
       StringUtils.indexOf(*, null, *)          = -1
       StringUtils.indexOf("", "", 0)           = 0
       StringUtils.indexOf("", *, 0)            = -1 (except when * = "")
       StringUtils.indexOf("aabaabaa", "a", 0)  = 0
       StringUtils.indexOf("aabaabaa", "b", 0)  = 2
       StringUtils.indexOf("aabaabaa", "ab", 0) = 1
       StringUtils.indexOf("aabaabaa", "b", 3)  = 5
       StringUtils.indexOf("aabaabaa", "b", 9)  = -1
       StringUtils.indexOf("aabaabaa", "b", -1) = 2
       StringUtils.indexOf("aabaabaa", "", 2)   = 2
       StringUtils.indexOf("abc", "", 9)        = 3
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      startPos - the start position, negative treated as zero
      返回:
      the first index of the search String, -1 if no match or null string input
      从以下版本开始:
      2.0
    • indexOfIgnoreCase

      public static int indexOfIgnoreCase(String str, String searchStr)

      Case in-sensitive find of the first index within a String.

      A null String will return -1. A negative start position is treated as zero. An empty ("") search String always matches. A start position greater than the string length only matches an empty search String.

       StringUtils.indexOfIgnoreCase(null, *)          = -1
       StringUtils.indexOfIgnoreCase(*, null)          = -1
       StringUtils.indexOfIgnoreCase("", "")           = 0
       StringUtils.indexOfIgnoreCase("aabaabaa", "a")  = 0
       StringUtils.indexOfIgnoreCase("aabaabaa", "b")  = 2
       StringUtils.indexOfIgnoreCase("aabaabaa", "ab") = 1
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      返回:
      the first index of the search String, -1 if no match or null string input
      从以下版本开始:
      2.5
    • indexOfIgnoreCase

      public static int indexOfIgnoreCase(String str, String searchStr, int startPos)

      Case in-sensitive find of the first index within a String from the specified position.

      A null String will return -1. A negative start position is treated as zero. An empty ("") search String always matches. A start position greater than the string length only matches an empty search String.

       StringUtils.indexOfIgnoreCase(null, *, *)          = -1
       StringUtils.indexOfIgnoreCase(*, null, *)          = -1
       StringUtils.indexOfIgnoreCase("", "", 0)           = 0
       StringUtils.indexOfIgnoreCase("aabaabaa", "A", 0)  = 0
       StringUtils.indexOfIgnoreCase("aabaabaa", "B", 0)  = 2
       StringUtils.indexOfIgnoreCase("aabaabaa", "AB", 0) = 1
       StringUtils.indexOfIgnoreCase("aabaabaa", "B", 3)  = 5
       StringUtils.indexOfIgnoreCase("aabaabaa", "B", 9)  = -1
       StringUtils.indexOfIgnoreCase("aabaabaa", "B", -1) = 2
       StringUtils.indexOfIgnoreCase("aabaabaa", "", 2)   = 2
       StringUtils.indexOfIgnoreCase("abc", "", 9)        = 3
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      startPos - the start position, negative treated as zero
      返回:
      the first index of the search String, -1 if no match or null string input
      从以下版本开始:
      2.5
    • lastIndexOf

      public static int lastIndexOf(String str, char searchChar)

      Finds the last index within a String, handling null. This method uses String.lastIndexOf(int).

      A null or empty ("") String will return -1.

       StringUtils.lastIndexOf(null, *)         = -1
       StringUtils.lastIndexOf("", *)           = -1
       StringUtils.lastIndexOf("aabaabaa", 'a') = 7
       StringUtils.lastIndexOf("aabaabaa", 'b') = 5
       
      参数:
      str - the String to check, may be null
      searchChar - the character to find
      返回:
      the last index of the search character, -1 if no match or null string input
      从以下版本开始:
      2.0
    • lastIndexOf

      public static int lastIndexOf(String str, char searchChar, int startPos)

      Finds the last index within a String from a start position, handling null. This method uses String.lastIndexOf(int, int).

      A null or empty ("") String will return -1. A negative start position returns -1. A start position greater than the string length searches the whole string.

       StringUtils.lastIndexOf(null, *, *)          = -1
       StringUtils.lastIndexOf("", *,  *)           = -1
       StringUtils.lastIndexOf("aabaabaa", 'b', 8)  = 5
       StringUtils.lastIndexOf("aabaabaa", 'b', 4)  = 2
       StringUtils.lastIndexOf("aabaabaa", 'b', 0)  = -1
       StringUtils.lastIndexOf("aabaabaa", 'b', 9)  = 5
       StringUtils.lastIndexOf("aabaabaa", 'b', -1) = -1
       StringUtils.lastIndexOf("aabaabaa", 'a', 0)  = 0
       
      参数:
      str - the String to check, may be null
      searchChar - the character to find
      startPos - the start position
      返回:
      the last index of the search character, -1 if no match or null string input
      从以下版本开始:
      2.0
    • lastIndexOf

      public static int lastIndexOf(String str, String searchStr)

      Finds the last index within a String, handling null. This method uses String.lastIndexOf(String).

      A null String will return -1.

       StringUtils.lastIndexOf(null, *)          = -1
       StringUtils.lastIndexOf(*, null)          = -1
       StringUtils.lastIndexOf("", "")           = 0
       StringUtils.lastIndexOf("aabaabaa", "a")  = 7
       StringUtils.lastIndexOf("aabaabaa", "b")  = 5
       StringUtils.lastIndexOf("aabaabaa", "ab") = 4
       StringUtils.lastIndexOf("aabaabaa", "")   = 8
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      返回:
      the last index of the search String, -1 if no match or null string input
      从以下版本开始:
      2.0
    • lastOrdinalIndexOf

      public static int lastOrdinalIndexOf(String str, String searchStr, int ordinal)

      Finds the n-th last index within a String, handling null. This method uses String.lastIndexOf(String).

      A null String will return -1.

       StringUtils.lastOrdinalIndexOf(null, *, *)          = -1
       StringUtils.lastOrdinalIndexOf(*, null, *)          = -1
       StringUtils.lastOrdinalIndexOf("", "", *)           = 0
       StringUtils.lastOrdinalIndexOf("aabaabaa", "a", 1)  = 7
       StringUtils.lastOrdinalIndexOf("aabaabaa", "a", 2)  = 6
       StringUtils.lastOrdinalIndexOf("aabaabaa", "b", 1)  = 5
       StringUtils.lastOrdinalIndexOf("aabaabaa", "b", 2)  = 2
       StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 1) = 4
       StringUtils.lastOrdinalIndexOf("aabaabaa", "ab", 2) = 1
       StringUtils.lastOrdinalIndexOf("aabaabaa", "", 1)   = 8
       StringUtils.lastOrdinalIndexOf("aabaabaa", "", 2)   = 8
       

      Note that 'tail(String str, int n)' may be implemented as:

         str.substring(lastOrdinalIndexOf(str, "\n", n) + 1)
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      ordinal - the n-th last searchStr to find
      返回:
      the n-th last index of the search String, -1 (INDEX_NOT_FOUND) if no match or null string input
      从以下版本开始:
      2.5
    • lastIndexOf

      public static int lastIndexOf(String str, String searchStr, int startPos)

      Finds the first index within a String, handling null. This method uses String.lastIndexOf(String, int).

      A null String will return -1. A negative start position returns -1. An empty ("") search String always matches unless the start position is negative. A start position greater than the string length searches the whole string.

       StringUtils.lastIndexOf(null, *, *)          = -1
       StringUtils.lastIndexOf(*, null, *)          = -1
       StringUtils.lastIndexOf("aabaabaa", "a", 8)  = 7
       StringUtils.lastIndexOf("aabaabaa", "b", 8)  = 5
       StringUtils.lastIndexOf("aabaabaa", "ab", 8) = 4
       StringUtils.lastIndexOf("aabaabaa", "b", 9)  = 5
       StringUtils.lastIndexOf("aabaabaa", "b", -1) = -1
       StringUtils.lastIndexOf("aabaabaa", "a", 0)  = 0
       StringUtils.lastIndexOf("aabaabaa", "b", 0)  = -1
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      startPos - the start position, negative treated as zero
      返回:
      the first index of the search String, -1 if no match or null string input
      从以下版本开始:
      2.0
    • lastIndexOfIgnoreCase

      public static int lastIndexOfIgnoreCase(String str, String searchStr)

      Case in-sensitive find of the last index within a String.

      A null String will return -1. A negative start position returns -1. An empty ("") search String always matches unless the start position is negative. A start position greater than the string length searches the whole string.

       StringUtils.lastIndexOfIgnoreCase(null, *)          = -1
       StringUtils.lastIndexOfIgnoreCase(*, null)          = -1
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A")  = 7
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B")  = 5
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "AB") = 4
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      返回:
      the first index of the search String, -1 if no match or null string input
      从以下版本开始:
      2.5
    • lastIndexOfIgnoreCase

      public static int lastIndexOfIgnoreCase(String str, String searchStr, int startPos)

      Case in-sensitive find of the last index within a String from the specified position.

      A null String will return -1. A negative start position returns -1. An empty ("") search String always matches unless the start position is negative. A start position greater than the string length searches the whole string.

       StringUtils.lastIndexOfIgnoreCase(null, *, *)          = -1
       StringUtils.lastIndexOfIgnoreCase(*, null, *)          = -1
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A", 8)  = 7
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 8)  = 5
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "AB", 8) = 4
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 9)  = 5
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", -1) = -1
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "A", 0)  = 0
       StringUtils.lastIndexOfIgnoreCase("aabaabaa", "B", 0)  = -1
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      startPos - the start position
      返回:
      the first index of the search String, -1 if no match or null string input
      从以下版本开始:
      2.5
    • contains

      public static boolean contains(String str, char searchChar)

      Checks if String contains a search character, handling null. This method uses String.indexOf(int).

      A null or empty ("") String will return false.

       StringUtils.contains(null, *)    = false
       StringUtils.contains("", *)      = false
       StringUtils.contains("abc", 'a') = true
       StringUtils.contains("abc", 'z') = false
       
      参数:
      str - the String to check, may be null
      searchChar - the character to find
      返回:
      true if the String contains the search character, false if not or null string input
      从以下版本开始:
      2.0
    • contains

      public static boolean contains(String str, String searchStr)

      Checks if String contains a search String, handling null. This method uses String.indexOf(String).

      A null String will return false.

       StringUtils.contains(null, *)     = false
       StringUtils.contains(*, null)     = false
       StringUtils.contains("", "")      = true
       StringUtils.contains("abc", "")   = true
       StringUtils.contains("abc", "a")  = true
       StringUtils.contains("abc", "z")  = false
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      返回:
      true if the String contains the search String, false if not or null string input
      从以下版本开始:
      2.0
    • containsIgnoreCase

      public static boolean containsIgnoreCase(String str, String searchStr)

      Checks if String contains a search String irrespective of case, handling null. Case-insensitivity is defined as by String.equalsIgnoreCase(String).

      A null String will return false.

       StringUtils.contains(null, *) = false
       StringUtils.contains(*, null) = false
       StringUtils.contains("", "") = true
       StringUtils.contains("abc", "") = true
       StringUtils.contains("abc", "a") = true
       StringUtils.contains("abc", "z") = false
       StringUtils.contains("abc", "A") = true
       StringUtils.contains("abc", "Z") = false
       
      参数:
      str - the String to check, may be null
      searchStr - the String to find, may be null
      返回:
      true if the String contains the search String irrespective of case or false if not or null string input
    • indexOfAny

      public static int indexOfAny(String str, String[] searchStrs)

      Find the first index of any of a set of potential substrings.

      A null String will return -1. A null or zero length search array will return -1. A null search array entry will be ignored, but a search array containing "" will return 0 if str is not null. This method uses String.indexOf(String).

       StringUtils.indexOfAny(null, *)                     = -1
       StringUtils.indexOfAny(*, null)                     = -1
       StringUtils.indexOfAny(*, [])                       = -1
       StringUtils.indexOfAny("zzabyycdxx", ["ab","cd"])   = 2
       StringUtils.indexOfAny("zzabyycdxx", ["cd","ab"])   = 2
       StringUtils.indexOfAny("zzabyycdxx", ["mn","op"])   = -1
       StringUtils.indexOfAny("zzabyycdxx", ["zab","aby"]) = 1
       StringUtils.indexOfAny("zzabyycdxx", [""])          = 0
       StringUtils.indexOfAny("", [""])                    = 0
       StringUtils.indexOfAny("", ["a"])                   = -1
       
      参数:
      str - the String to check, may be null
      searchStrs - the Strings to search for, may be null
      返回:
      the first index of any of the searchStrs in str, -1 if no match
    • lastIndexOfAny

      public static int lastIndexOfAny(String str, String[] searchStrs)

      Find the latest index of any of a set of potential substrings.

      A null String will return -1. A null search array will return -1. A null or zero length search array entry will be ignored, but a search array containing "" will return the length of str if str is not null. This method uses String.indexOf(String)

       StringUtils.lastIndexOfAny(null, *)                   = -1
       StringUtils.lastIndexOfAny(*, null)                   = -1
       StringUtils.lastIndexOfAny(*, [])                     = -1
       StringUtils.lastIndexOfAny(*, [null])                 = -1
       StringUtils.lastIndexOfAny("zzabyycdxx", ["ab","cd"]) = 6
       StringUtils.lastIndexOfAny("zzabyycdxx", ["cd","ab"]) = 6
       StringUtils.lastIndexOfAny("zzabyycdxx", ["mn","op"]) = -1
       StringUtils.lastIndexOfAny("zzabyycdxx", ["mn","op"]) = -1
       StringUtils.lastIndexOfAny("zzabyycdxx", ["mn",""])   = 10
       
      参数:
      str - the String to check, may be null
      searchStrs - the Strings to search for, may be null
      返回:
      the last index of any of the Strings, -1 if no match
    • substring

      public static String substring(String str, int start)

      Gets a substring from the specified String avoiding exceptions.

      A negative start position can be used to start n characters from the end of the String.

      A null String will return null. An empty ("") String will return "".

       StringUtils.substring(null, *)   = null
       StringUtils.substring("", *)     = ""
       StringUtils.substring("abc", 0)  = "abc"
       StringUtils.substring("abc", 2)  = "c"
       StringUtils.substring("abc", 4)  = ""
       StringUtils.substring("abc", -2) = "bc"
       StringUtils.substring("abc", -4) = "abc"
       
      参数:
      str - the String to get the substring from, may be null
      start - the position to start from, negative means count back from the end of the String by this many characters
      返回:
      substring from start position, null if null String input
    • substring

      public static String substring(String str, int start, int end)

      Gets a substring from the specified String avoiding exceptions.

      A negative start position can be used to start/end n characters from the end of the String.

      The returned substring starts with the character in the start position and ends before the end position. All position counting is zero-based -- i.e., to start at the beginning of the string use start = 0. Negative start and end positions can be used to specify offsets relative to the end of the String.

      If start is not strictly to the left of end, "" is returned.

       StringUtils.substring(null, *, *)    = null
       StringUtils.substring("", * ,  *)    = "";
       StringUtils.substring("abc", 0, 2)   = "ab"
       StringUtils.substring("abc", 2, 0)   = ""
       StringUtils.substring("abc", 2, 4)   = "c"
       StringUtils.substring("abc", 4, 6)   = ""
       StringUtils.substring("abc", 2, 2)   = ""
       StringUtils.substring("abc", -2, -1) = "b"
       StringUtils.substring("abc", -4, 2)  = "ab"
       
      参数:
      str - the String to get the substring from, may be null
      start - the position to start from, negative means count back from the end of the String by this many characters
      end - the position to end at (exclusive), negative means count back from the end of the String by this many characters
      返回:
      substring from start position to end positon, null if null String input
    • left

      public static String left(String str, int len)

      Gets the leftmost len characters of a String.

      If len characters are not available, or the String is null, the String will be returned without an exception. An empty String is returned if len is negative.

       StringUtils.left(null, *)    = null
       StringUtils.left(*, -ve)     = ""
       StringUtils.left("", *)      = ""
       StringUtils.left("abc", 0)   = ""
       StringUtils.left("abc", 2)   = "ab"
       StringUtils.left("abc", 4)   = "abc"
       
      参数:
      str - the String to get the leftmost characters from, may be null
      len - the length of the required String
      返回:
      the leftmost characters, null if null String input
    • right

      public static String right(String str, int len)

      Gets the rightmost len characters of a String.

      If len characters are not available, or the String is null, the String will be returned without an an exception. An empty String is returned if len is negative.

       StringUtils.right(null, *)    = null
       StringUtils.right(*, -ve)     = ""
       StringUtils.right("", *)      = ""
       StringUtils.right("abc", 0)   = ""
       StringUtils.right("abc", 2)   = "bc"
       StringUtils.right("abc", 4)   = "abc"
       
      参数:
      str - the String to get the rightmost characters from, may be null
      len - the length of the required String
      返回:
      the rightmost characters, null if null String input
    • mid

      public static String mid(String str, int pos, int len)

      Gets len characters from the middle of a String.

      If len characters are not available, the remainder of the String will be returned without an exception. If the String is null, null will be returned. An empty String is returned if len is negative or exceeds the length of str.

       StringUtils.mid(null, *, *)    = null
       StringUtils.mid(*, *, -ve)     = ""
       StringUtils.mid("", 0, *)      = ""
       StringUtils.mid("abc", 0, 2)   = "ab"
       StringUtils.mid("abc", 0, 4)   = "abc"
       StringUtils.mid("abc", 2, 4)   = "c"
       StringUtils.mid("abc", 4, 2)   = ""
       StringUtils.mid("abc", -2, 2)  = "ab"
       
      参数:
      str - the String to get the characters from, may be null
      pos - the position to start from, negative treated as zero
      len - the length of the required String
      返回:
      the middle characters, null if null String input
    • substringBefore

      public static String substringBefore(String str, String separator)

      Gets the substring before the first occurrence of a separator. The separator is not returned.

      A null string input will return null. An empty ("") string input will return the empty string. A null separator will return the input string.

      If nothing is found, the string input is returned.

       StringUtils.substringBefore(null, *)      = null
       StringUtils.substringBefore("", *)        = ""
       StringUtils.substringBefore("abc", "a")   = ""
       StringUtils.substringBefore("abcba", "b") = "a"
       StringUtils.substringBefore("abc", "c")   = "ab"
       StringUtils.substringBefore("abc", "d")   = "abc"
       StringUtils.substringBefore("abc", "")    = ""
       StringUtils.substringBefore("abc", null)  = "abc"
       
      参数:
      str - the String to get a substring from, may be null
      separator - the String to search for, may be null
      返回:
      the substring before the first occurrence of the separator, null if null String input
      从以下版本开始:
      2.0
    • substringAfter

      public static String substringAfter(String str, String separator)

      Gets the substring after the first occurrence of a separator. The separator is not returned.

      A null string input will return null. An empty ("") string input will return the empty string. A null separator will return the empty string if the input string is not null.

      If nothing is found, the empty string is returned.

       StringUtils.substringAfter(null, *)      = null
       StringUtils.substringAfter("", *)        = ""
       StringUtils.substringAfter(*, null)      = ""
       StringUtils.substringAfter("abc", "a")   = "bc"
       StringUtils.substringAfter("abcba", "b") = "cba"
       StringUtils.substringAfter("abc", "c")   = ""
       StringUtils.substringAfter("abc", "d")   = ""
       StringUtils.substringAfter("abc", "")    = "abc"
       
      参数:
      str - the String to get a substring from, may be null
      separator - the String to search for, may be null
      返回:
      the substring after the first occurrence of the separator, null if null String input
      从以下版本开始:
      2.0
    • substringBeforeLast

      public static String substringBeforeLast(String str, String separator)

      Gets the substring before the last occurrence of a separator. The separator is not returned.

      A null string input will return null. An empty ("") string input will return the empty string. An empty or null separator will return the input string.

      If nothing is found, the string input is returned.

       StringUtils.substringBeforeLast(null, *)      = null
       StringUtils.substringBeforeLast("", *)        = ""
       StringUtils.substringBeforeLast("abcba", "b") = "abc"
       StringUtils.substringBeforeLast("abc", "c")   = "ab"
       StringUtils.substringBeforeLast("a", "a")     = ""
       StringUtils.substringBeforeLast("a", "z")     = "a"
       StringUtils.substringBeforeLast("a", null)    = "a"
       StringUtils.substringBeforeLast("a", "")      = "a"
       
      参数:
      str - the String to get a substring from, may be null
      separator - the String to search for, may be null
      返回:
      the substring before the last occurrence of the separator, null if null String input
      从以下版本开始:
      2.0
    • substringAfterLast

      public static String substringAfterLast(String str, String separator)

      Gets the substring after the last occurrence of a separator. The separator is not returned.

      A null string input will return null. An empty ("") string input will return the empty string. An empty or null separator will return the empty string if the input string is not null.

      If nothing is found, the empty string is returned.

       StringUtils.substringAfterLast(null, *)      = null
       StringUtils.substringAfterLast("", *)        = ""
       StringUtils.substringAfterLast(*, "")        = ""
       StringUtils.substringAfterLast(*, null)      = ""
       StringUtils.substringAfterLast("abc", "a")   = "bc"
       StringUtils.substringAfterLast("abcba", "b") = "a"
       StringUtils.substringAfterLast("abc", "c")   = ""
       StringUtils.substringAfterLast("a", "a")     = ""
       StringUtils.substringAfterLast("a", "z")     = ""
       
      参数:
      str - the String to get a substring from, may be null
      separator - the String to search for, may be null
      返回:
      the substring after the last occurrence of the separator, null if null String input
      从以下版本开始:
      2.0
    • substringBetween

      public static String substringBetween(String str, String tag)

      Gets the String that is nested in between two instances of the same String.

      A null input String returns null. A null tag returns null.

       StringUtils.substringBetween(null, *)            = null
       StringUtils.substringBetween("", "")             = ""
       StringUtils.substringBetween("", "tag")          = null
       StringUtils.substringBetween("tagabctag", null)  = null
       StringUtils.substringBetween("tagabctag", "")    = ""
       StringUtils.substringBetween("tagabctag", "tag") = "abc"
       
      参数:
      str - the String containing the substring, may be null
      tag - the String before and after the substring, may be null
      返回:
      the substring, null if no match
      从以下版本开始:
      2.0
    • substringBetween

      public static String substringBetween(String str, String open, String close)

      Gets the String that is nested in between two Strings. Only the first match is returned.

      A null input String returns null. A null open/close returns null (no match). An empty ("") open and close returns an empty string.

       StringUtils.substringBetween("wx[b]yz", "[", "]") = "b"
       StringUtils.substringBetween(null, *, *)          = null
       StringUtils.substringBetween(*, null, *)          = null
       StringUtils.substringBetween(*, *, null)          = null
       StringUtils.substringBetween("", "", "")          = ""
       StringUtils.substringBetween("", "", "]")         = null
       StringUtils.substringBetween("", "[", "]")        = null
       StringUtils.substringBetween("yabcz", "", "")     = ""
       StringUtils.substringBetween("yabcz", "y", "z")   = "abc"
       StringUtils.substringBetween("yabczyabcz", "y", "z")   = "abc"
       
      参数:
      str - the String containing the substring, may be null
      open - the String before the substring, may be null
      close - the String after the substring, may be null
      返回:
      the substring, null if no match
      从以下版本开始:
      2.0