Class StringUtils
- java.lang.Object
-
- io.microsphere.util.StringUtils
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringEMPTYRepresents an empty string constant : ""static java.lang.StringEMPTY_STRINGRepresents an empty string constant: ""static java.lang.String[]EMPTY_STRING_ARRAYAn empty array of String.static intINDEX_NOT_FOUNDRepresents a failed index search.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.Stringcapitalize(java.lang.String str)Capitalizes the first character of the given String, converting it to uppercase usingCharacter.toUpperCase(char).static booleancontains(java.lang.String value, java.lang.CharSequence part)Checks if a CharSequence contains another CharSequence.static booleancontainsWhitespace(java.lang.String str)Checks whether the givenStringcontains any whitespace characters.static booleanendsWith(java.lang.String value, java.lang.String part)Checks if a String ends with another String.static booleanisBlank(java.lang.String value)Checks if a String is whitespace, empty, or null.static booleanisNotBlank(java.lang.String value)Checks if a String is not blank.static booleanisNumeric(java.lang.String str)Checks if the String contains only unicode digits.static java.lang.Stringreplace(java.lang.String text, java.lang.String searchString, java.lang.String replacement)Replaces all occurrences of a String within another String.static java.lang.Stringreplace(java.lang.String text, java.lang.String searchString, java.lang.String replacement, int max)Replaces a String with another String inside a larger String, for the firstmaxvalues of the search String.static java.lang.String[]split(java.lang.String value, char delimiter)Splits the provided String into an array of Strings using the specified char delimiter.static java.lang.String[]split(java.lang.String value, java.lang.String delimiter)Splits the provided String into an array of Strings using the specified String delimiter.static booleanstartsWith(java.lang.String value, java.lang.String part)Checks if a String starts with another String.static java.lang.StringsubstringAfter(java.lang.String str, java.lang.String separator)Gets the substring after the first occurrence of a separator.static java.lang.StringsubstringAfterLast(java.lang.String str, java.lang.String separator)Gets the substring after the last occurrence of a separator.static java.lang.StringsubstringBefore(java.lang.String str, java.lang.String separator)Gets the substring before the first occurrence of a separator.static java.lang.StringsubstringBeforeLast(java.lang.String str, java.lang.String separator)Gets the substring before the last occurrence of a separator.static java.lang.StringsubstringBetween(java.lang.String str, java.lang.String tag)Gets the String that is nested in between two instances of the same String.static java.lang.StringsubstringBetween(java.lang.String str, java.lang.String open, java.lang.String close)Gets the String that is nested in between two Strings.static java.lang.String[]toStringArray(java.util.Collection<java.lang.String> collection)Convert the givenCollectioninto aStringarray.static java.lang.StringtrimAllWhitespace(java.lang.String str)Trims all whitespace characters from the givenString.static java.lang.StringtrimLeadingWhitespace(java.lang.String str)Trims leading whitespace from the givenString.static java.lang.StringtrimTrailingWhitespace(java.lang.String str)Trims trailing whitespace from the givenString.static java.lang.StringtrimWhitespace(java.lang.String str)Trims leading and trailing whitespace from the givenString.static java.lang.Stringuncapitalize(java.lang.String str)Uncapitalizes the first character of the given String, converting it to lowercase usingCharacter.toLowerCase(char).
-
-
-
Field Detail
-
EMPTY
public static final java.lang.String EMPTY
Represents an empty string constant : ""- See Also:
- Constant Field Values
-
EMPTY_STRING
public static final java.lang.String EMPTY_STRING
Represents an empty string constant: ""- See Also:
- Constant Field Values
-
EMPTY_STRING_ARRAY
@Immutable public static final java.lang.String[] EMPTY_STRING_ARRAY
An empty array of String.
-
INDEX_NOT_FOUND
public static final int INDEX_NOT_FOUND
Represents a failed index search.- See Also:
- Constant Field Values
-
-
Method Detail
-
isBlank
public static boolean isBlank(java.lang.String value)
Checks if a String is whitespace, empty, or null.
Whitespace is defined by the
Character.isWhitespace(char)method.Example Usage
StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true StringUtils.isBlank(" a ") = false StringUtils.isBlank("abc") = false StringUtils.isBlank("\t\n\f") = true- Parameters:
value- the String to check, may be null- Returns:
trueif the String is null, empty, or contains only whitespace characters
-
isNotBlank
public static boolean isNotBlank(java.lang.String value)
Checks if a String is not blank.
A string is considered not blank if it contains at least one non-whitespace character. This method is the inverse of
isBlank(String).Example Usage
StringUtils.isNotBlank(null) = false StringUtils.isNotBlank("") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank(" a ") = true StringUtils.isNotBlank("abc") = true StringUtils.isNotBlank("\t\n\f") = false- Parameters:
value- the String to check, may be null- Returns:
trueif the String is not null, not empty, and contains at least one non-whitespace character
-
split
@Nonnull public static java.lang.String[] split(@Nullable java.lang.String value, char delimiter)
Splits the provided String into an array of Strings using the specified char delimiter.
A
nullor empty input String returns an empty array. If the delimiter is not found, an array containing just the input String is returned.Example Usage
StringUtils.split(null, ',') = [] StringUtils.split("", ';') = [] StringUtils.split("a,b,c", ',') = ["a", "b", "c"] StringUtils.split("a;b;c", ',') = ["a;b;c"] StringUtils.split("a,,b,c", ',') = ["a", "", "b", "c"]- Parameters:
value- the String to split, may be null or emptydelimiter- the char used as a delimiter to split the String- Returns:
- an array of Strings, split by the delimiter; never null
-
split
@Nonnull public static java.lang.String[] split(@Nullable java.lang.String value, @Nullable java.lang.String delimiter)
Splits the provided String into an array of Strings using the specified String delimiter.
A
nullor empty input String returns an empty array. If the delimiter is not found, an array containing just the input String is returned.Example Usage
StringUtils.split(null, ",") = [] StringUtils.split("", null) = [] StringUtils.split("", ";") = [] StringUtils.split("abc", "") = ["a", "b", "c"] StringUtils.split("a,b,c", ",") = ["a", "b", "c"] StringUtils.split("a;b;c", ",") = ["a;b;c"] StringUtils.split("a,,b,c", ",") = ["a", "", "b", "c"]- Parameters:
value- the String to split, may be null or emptydelimiter- the String used as a delimiter to split the String, may be null or empty- Returns:
- an array of Strings, split by the delimiter; never null
-
contains
public static boolean contains(java.lang.String value, java.lang.CharSequence part)Checks if a CharSequence contains another CharSequence.
This method is case-sensitive and uses the
String.contains(CharSequence)method. AnullCharSequence returnsfalse.Example Usage
StringUtils.contains(null, null) = false StringUtils.contains(null, "abc") = false StringUtils.contains("abc", null) = false StringUtils.contains("", "") = true StringUtils.contains("abc", "") = true StringUtils.contains("abc", "a") = true StringUtils.contains("abc", "z") = false StringUtils.contains("abc", "abc") = true- Parameters:
value- the CharSequence to check, may be nullpart- the CharSequence to search for, may be null- Returns:
trueif the value contains the part as a subsequence, case-sensitive
-
startsWith
public static boolean startsWith(java.lang.String value, java.lang.String part)Checks if a String starts with another String.
This method is case-sensitive and uses the
String.startsWith(String)method. Anullreference for either parameter returnsfalse.Example Usage
StringUtils.startsWith(null, null) = false StringUtils.startsWith(null, "abc") = false StringUtils.startsWith("abc", null) = false StringUtils.startsWith("", "") = true StringUtils.startsWith("abc", "") = true StringUtils.startsWith("abc", "a") = true StringUtils.startsWith("abc", "ab") = true StringUtils.startsWith("abc", "z") = false StringUtils.startsWith("abc", "abcd") = false- Parameters:
value- the String to check, may be nullpart- the String prefix to search for, may be null- Returns:
trueif the value starts with the provided part, case-sensitive
-
endsWith
public static boolean endsWith(java.lang.String value, java.lang.String part)Checks if a String ends with another String.
This method is case-sensitive and uses the
String.endsWith(String)method. Anullreference for either parameter returnsfalse.Example Usage
StringUtils.endsWith(null, null) = false StringUtils.endsWith(null, "abc") = false StringUtils.endsWith("abc", null) = false StringUtils.endsWith("", "") = true StringUtils.endsWith("abc", "") = true StringUtils.endsWith("abc", "c") = true StringUtils.endsWith("abc", "bc") = true StringUtils.endsWith("abc", "abc") = true StringUtils.endsWith("abc", "d") = false StringUtils.endsWith("abc", "abcd") = false- Parameters:
value- the String to check, may be nullpart- the String suffix to search for, may be null- Returns:
trueif the value ends with the provided part, case-sensitive
-
replace
public static java.lang.String replace(java.lang.String text, java.lang.String searchString, java.lang.String replacement)Replaces all occurrences of a String within another String.
A
nullreference passed to this method is a no-op.Example Usage
StringUtils.replace(null, *, *) = null StringUtils.replace("", *, *) = "" StringUtils.replace("any", null, *) = "any" StringUtils.replace("any", *, null) = "any" StringUtils.replace("any", "", *) = "any" StringUtils.replace("aba", "a", null) = "aba" StringUtils.replace("aba", "a", "") = "b" StringUtils.replace("aba", "a", "z") = "zbz"- Parameters:
text- text to search and replace in, may be nullsearchString- the String to search for, may be nullreplacement- the String to replace it with, may be null- Returns:
- the text with any replacements processed,
nullif null String input - See Also:
replace(String text, String searchString, String replacement, int max)
-
replace
public static java.lang.String replace(java.lang.String text, java.lang.String searchString, java.lang.String replacement, int max)Replaces a String with another String inside a larger String, for the first
maxvalues of the search String.A
nullreference passed to this method is a no-op.Example Usage
StringUtils.replace(null, *, *, *) = null StringUtils.replace("", *, *, *) = "" StringUtils.replace("any", null, *, *) = "any" StringUtils.replace("any", *, null, *) = "any" StringUtils.replace("any", "", *, *) = "any" StringUtils.replace("any", *, *, 0) = "any" StringUtils.replace("abaa", "a", null, -1) = "abaa" StringUtils.replace("abaa", "a", "", -1) = "b" StringUtils.replace("abaa", "a", "z", 0) = "abaa" StringUtils.replace("abaa", "a", "z", 1) = "zbaa" StringUtils.replace("abaa", "a", "z", 2) = "zbza" StringUtils.replace("abaa", "a", "z", -1) = "zbzz"- Parameters:
text- text to search and replace in, may be nullsearchString- the String to search for, may be nullreplacement- the String to replace it with, may be nullmax- maximum number of values to replace, or-1if no maximum- Returns:
- the text with any replacements processed,
nullif null String input
-
substringBetween
public static java.lang.String substringBetween(java.lang.String str, java.lang.String tag)Gets the String that is nested in between two instances of the same String.
A
nullinput String returnsnull. Anulltag returnsnull.Example Usage
StringUtils.substringBetween(null, *) = null StringUtils.substringBetween("", "") = "" StringUtils.substringBetween("", "tag") = null StringUtils.substringBetween("tagabctag", null) = null StringUtils.substringBetween("tagabctag", "") = "" StringUtils.substringBetween("tagabctag", "tag") = "abc"- Parameters:
str- the String containing the substring, may be nulltag- the String before and after the substring, may be null- Returns:
- the substring,
nullif no match
-
substringBetween
public static java.lang.String substringBetween(java.lang.String str, java.lang.String open, java.lang.String close)Gets the String that is nested in between two Strings. Only the first match is returned.
A
nullinput String returnsnull. Anullopen/close returnsnull(no match). An empty ("") open and close returns an empty string.Example Usage
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"- Parameters:
str- the String containing the substring, may be nullopen- the String before the substring, may be nullclose- the String after the substring, may be null- Returns:
- the substring,
nullif no match
-
substringBefore
public static java.lang.String substringBefore(java.lang.String str, java.lang.String separator)Gets the substring before the first occurrence of a separator. The separator is not returned.
A
nullstring input will returnnull. An empty ("") string input will return the empty string. Anullseparator will return the input string.If nothing is found, the string input is returned.
Example Usage
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"- Parameters:
str- the String to get a substring from, may be nullseparator- the String to search for, may be null- Returns:
- the substring before the first occurrence of the separator,
nullif null String input
-
substringAfter
public static java.lang.String substringAfter(java.lang.String str, java.lang.String separator)Gets the substring after the first occurrence of a separator. The separator is not returned.
A
nullstring input will returnnull. An empty ("") string input will return the empty string. Anullseparator will return the empty string if the input string is notnull.If nothing is found, the empty string is returned.
Example Usage
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"- Parameters:
str- the String to get a substring from, may be nullseparator- the String to search for, may be null- Returns:
- the substring after the first occurrence of the separator,
nullif null String input
-
substringBeforeLast
public static java.lang.String substringBeforeLast(java.lang.String str, java.lang.String separator)Gets the substring before the last occurrence of a separator. The separator is not returned.
A
nullstring input will returnnull. An empty ("") string input will return the empty string. An empty ornullseparator will return the input string.If nothing is found, the string input is returned.
Example Usage
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"- Parameters:
str- the String to get a substring from, may be nullseparator- the String to search for, may be null- Returns:
- the substring before the last occurrence of the separator,
nullif null String input
-
substringAfterLast
public static java.lang.String substringAfterLast(java.lang.String str, java.lang.String separator)Gets the substring after the last occurrence of a separator. The separator is not returned.
A
nullstring input will returnnull. An empty ("") string input will return the empty string. An empty ornullseparator will return the empty string if the input string is notnull.If nothing is found, the empty string is returned.
Example Usage
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") = ""- Parameters:
str- the String to get a substring from, may be nullseparator- the String to search for, may be null- Returns:
- the substring after the last occurrence of the separator,
nullif null String input
-
isNumeric
public static boolean isNumeric(java.lang.String str)
Checks if the String contains only unicode digits. A decimal point is not a unicode digit and returns false.
nullwill returnfalse. An empty String (length()=0) will returntrue.Example Usage
StringUtils.isNumeric(null) = false StringUtils.isNumeric("") = true StringUtils.isNumeric(" ") = false StringUtils.isNumeric("123") = true StringUtils.isNumeric("12 3") = false StringUtils.isNumeric("ab2c") = false StringUtils.isNumeric("12-3") = false StringUtils.isNumeric("12.3") = false- Parameters:
str- the String to check, may be null- Returns:
trueif only contains digits, and is non-null
-
containsWhitespace
public static boolean containsWhitespace(@Nullable java.lang.String str)
Checks whether the givenStringcontains any whitespace characters.A whitespace character is defined as any character that returns
truewhen passed toCharacter.isWhitespace(char).Example Usage
containsWhitespace(null)returnsfalsecontainsWhitespace("")returnsfalsecontainsWhitespace("hello world")returnstruecontainsWhitespace("hello\tworld")returnstruecontainsWhitespace("helloworld")returnsfalse
- Parameters:
str- theStringto check (may benull)- Returns:
trueif the provided sequence is not empty and contains at least one whitespace character; otherwise,false
-
trimWhitespace
public static java.lang.String trimWhitespace(java.lang.String str)
Trims leading and trailing whitespace from the givenString.This method removes whitespace characters (as defined by
Character.isWhitespace(char)) from the beginning and end of the input string. If the input isnullor empty, it will be returned as-is.Example Usage
trimWhitespace(null)returnsnulltrimWhitespace("")returns""trimWhitespace(" abc ")returns"abc"trimWhitespace("abc")returns"abc"trimWhitespace(" abc def ")returns"abc def"
- Parameters:
str- theStringto trim (may benull)- Returns:
- a new
Stringwith leading and trailing whitespace removed, or the original if it isnullor empty
-
trimLeadingWhitespace
public static java.lang.String trimLeadingWhitespace(java.lang.String str)
Trims leading whitespace from the givenString.This method removes whitespace characters (as defined by
Character.isWhitespace(char)) from the beginning of the input string. If the input isnullor empty, it will be returned as-is.Example Usage
trimLeadingWhitespace(null)returnsnulltrimLeadingWhitespace("")returns""trimLeadingWhitespace(" abc ")returns"abc "trimLeadingWhitespace("abc")returns"abc"trimLeadingWhitespace(" abc def ")returns"abc def "
- Parameters:
str- theStringto trim (may benull)- Returns:
- a new
Stringwith leading whitespace removed, or the original if it isnullor empty - See Also:
Character.isWhitespace(char)
-
trimTrailingWhitespace
public static java.lang.String trimTrailingWhitespace(java.lang.String str)
Trims trailing whitespace from the givenString.This method removes whitespace characters (as defined by
Character.isWhitespace(char)) from the end of the input string. If the input isnullor empty, it will be returned as-is.Example Usage
trimTrailingWhitespace(null)returnsnulltrimTrailingWhitespace("")returns""trimTrailingWhitespace(" abc ")returns" abc"trimTrailingWhitespace("abc")returns"abc"trimTrailingWhitespace("abc def ")returns"abc def"
- Parameters:
str- theStringto trim (may benull)- Returns:
- a new
Stringwith trailing whitespace removed, or the original if it isnullor empty - See Also:
Character.isWhitespace(char)
-
trimAllWhitespace
public static java.lang.String trimAllWhitespace(java.lang.String str)
Trims all whitespace characters from the givenString.This method removes all whitespace characters (as defined by
Character.isWhitespace(char)) from the beginning, end, and middle of the input sequence. If the input isnullor empty, it will be returned as-is.Example Usage
trimAllWhitespace(null)returnsnulltrimAllWhitespace("")returns""trimAllWhitespace(" hello world ")returns"helloworld"trimAllWhitespace(" \t\n h e l l o \r\n\f")returns"hello"
- Parameters:
str- theStringto trim (may benull)- Returns:
- a new
Stringwith all whitespace characters removed, or the original if none exist
-
capitalize
public static java.lang.String capitalize(java.lang.String str)
Capitalizes the first character of the given String, converting it to uppercase usingCharacter.toUpperCase(char). The rest of the characters remain unchanged.A
nullor empty input will be returned as-is.Example Usage
capitalize(null)returnsnullcapitalize("")returns""capitalize("hello")returns"Hello"capitalize("HELLO")returns"HELLO"capitalize("hELLO")returns"HELLO"
- Parameters:
str- the String to capitalize (may benull)- Returns:
- a new String with the first character capitalized, or the original if it is
nullor empty
-
uncapitalize
public static java.lang.String uncapitalize(java.lang.String str)
Uncapitalizes the first character of the given String, converting it to lowercase usingCharacter.toLowerCase(char). The rest of the characters remain unchanged.A
nullor empty input will be returned as-is.Example Usage
uncapitalize(null)returnsnulluncapitalize("")returns""uncapitalize("Hello")returns"hello"uncapitalize("HELLO")returns"hELLO"uncapitalize("hELLO")returns"hELLO"
- Parameters:
str- the String to uncapitalize (may benull)- Returns:
- a new String with the first character uncapitalized, or the original if it is
nullor empty
-
toStringArray
@Nonnull public static java.lang.String[] toStringArray(@Nullable java.util.Collection<java.lang.String> collection)
Convert the givenCollectioninto aStringarray.The
Collectionmust containStringelements only.Example Usage
StringUtils.toStringArray(null) = [] StringUtils.toStringArray(new ArrayList<>()) = [] StringUtils.toStringArray(Arrays.asList("a", "b", "c")) = ["a", "b", "c"]- Parameters:
collection- theCollectionto convert (potentiallynullor empty)- Returns:
- the resulting
Stringarray
-
-