public class StringUtils extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
EMPTY
The empty String
"". |
static int |
INDEX_NOT_FOUND
Represents a failed index search.
|
private static int |
PAD_LIMIT
The maximum size to which the padding constant(s) can expand.
|
| 构造器和说明 |
|---|
StringUtils()
StringUtils instances should NOT be constructed in
standard programming. |
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
clean(String str)
已过时。
Use the clearer named
trimToEmpty(String).
Method will be removed in Commons Lang 3.0. |
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 |
equalsIgnoreCase(String str1,
String str2)
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 |
isBlank(String str)
Checks if a String is whitespace, empty ("") or null.
|
static boolean |
isEmpty(String str)
Checks if a String is empty ("") or null.
|
static boolean |
isNotBlank(String str)
Checks if a String is not empty (""), not null and not whitespace only.
|
static boolean |
isNotEmpty(String str)
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 |
lastIndexOfIgnoreCase(String str,
String searchStr)
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 |
strip(String str)
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 |
stripToEmpty(String str)
Strips whitespace from the start and end of a String returning
an empty String if
null input. |
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. |
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 |
substringBeforeLast(String str,
String separator)
Gets the substring before the last occurrence of a separator.
|
static String |
substringBetween(String str,
String tag)
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 |
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. |
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. |
public static final int INDEX_NOT_FOUND
private static final int PAD_LIMIT
The maximum size to which the padding constant(s) can expand.
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.
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 nulltrue if the String is empty or nullpublic 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 nulltrue if the String is not empty and not nullpublic 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 nulltrue if the String is null, empty or whitespacepublic 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 nulltrue if the String is
not empty and not null and not whitespacepublic static String clean(String str)
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 nullnullString.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 nullnull if null String inputpublic 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 nullnull if only chars <= 32, empty or null String inputpublic 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 nullnull inputpublic 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 nullnull if null String inputpublic 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 nullnull if whitespace, empty or null String inputpublic 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 nullnull inputpublic 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 nullstripChars - the characters to remove, null treated as whitespacenull if null String inputpublic 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 nullstripChars - the characters to remove, null treated as whitespacenull if null String inputpublic 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 nullstripChars - the set of characters to remove, null treated as whitespacenull if null String inputpublic 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 nullnull if null array inputpublic 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 byCharacter.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 nullstripChars - the characters to remove, null treated as whitespacenull if null array inputpublic 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 nullstr2 - the second String, may be nulltrue if the Strings are equal, case sensitive, or
both nullString.equals(Object)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 nullstr2 - the second String, may be nulltrue if the Strings are equal, case insensitive, or
both nullString.equalsIgnoreCase(String)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 nullsearchChar - the character to findnull string inputpublic 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 nullsearchChar - the character to findstartPos - the start position, negative treated as zeronull string inputpublic 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 nullsearchStr - the String to find, may be nullnull string inputpublic 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 nullsearchStr - the String to find, may be nullordinal - the n-th searchStr to find-1 (INDEX_NOT_FOUND) if no match or null string inputprivate 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 nullsearchStr - the String to find, may be nullordinal - the n-th searchStr to findlastIndex - true if lastOrdinalIndexOf() otherwise false if ordinalIndexOf()-1 (INDEX_NOT_FOUND) if no match or null string inputpublic 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 nullsearchStr - the String to find, may be nullstartPos - the start position, negative treated as zeronull string inputpublic 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 nullsearchStr - the String to find, may be nullnull string inputpublic 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 nullsearchStr - the String to find, may be nullstartPos - the start position, negative treated as zeronull string inputpublic 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 nullsearchChar - the character to findnull string inputpublic 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 nullsearchChar - the character to findstartPos - the start positionnull string inputpublic 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 nullsearchStr - the String to find, may be nullnull string inputpublic 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 nullsearchStr - the String to find, may be nullordinal - the n-th last searchStr to find-1 (INDEX_NOT_FOUND) if no match or null string inputpublic 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 nullsearchStr - the String to find, may be nullstartPos - the start position, negative treated as zeronull string inputpublic 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 nullsearchStr - the String to find, may be nullnull string inputpublic 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 nullsearchStr - the String to find, may be nullstartPos - the start positionnull string inputpublic 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 nullsearchChar - the character to findnull string inputpublic 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 nullsearchStr - the String to find, may be nullnull string inputpublic 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 nullsearchStr - the String to find, may be nullnull string inputpublic 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 nullsearchStrs - the Strings to search for, may be nullpublic 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 nullsearchStrs - the Strings to search for, may be nullpublic 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 nullstart - the position to start from, negative means
count back from the end of the String by this many charactersnull if null String inputpublic 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 nullstart - the position to start from, negative means
count back from the end of the String by this many charactersend - the position to end at (exclusive), negative means
count back from the end of the String by this many charactersnull if null String inputpublic 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 nulllen - the length of the required Stringnull if null String inputpublic 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 nulllen - the length of the required Stringnull if null String inputpublic 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 nullpos - the position to start from, negative treated as zerolen - the length of the required Stringnull if null String inputpublic 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 nullseparator - the String to search for, may be nullnull if null String inputpublic 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 nullseparator - the String to search for, may be nullnull if null String inputpublic 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 nullseparator - the String to search for, may be nullnull if null String inputpublic 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 nullseparator - the String to search for, may be nullnull if null String inputpublic 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 nulltag - the String before and after the substring, may be nullnull if no matchpublic 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 nullopen - the String before the substring, may be nullclose - the String after the substring, may be nullnull if no matchCopyright © 2023. All rights reserved.