Class StringUtils
String utility methods.
Mainly for internal use within the framework; consider
Apache's Commons Lang
for a more comprehensive suite of String utilities.
This class delivers some simple functionality that should really be
provided by the core Java String and StringBuilder
classes. It also provides easy-to-use methods to convert between
delimited strings, such as CSV strings, and collections and arrays.
- Since:
- 16 April 2001
- Author:
- Rod Johnson, Juergen Hoeller, Keith Donald, Rob Harrop, Rick Evans, Arjen Poutsma, Sam Brannen, Brian Clozel, Sebastien Deleuze
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic String[]addStringToArray(String[] array, String str) Append the givenStringto the givenStringarray, returning a new array consisting of the input array contents plus the givenString.static StringapplyRelativePath(String path, String relativePath) Apply the given relative path to the given Java resource path, assuming standard Java folder separation (i.e.static StringConvert aStringarray into a comma delimitedString(i.e., CSV).static StringarrayToDelimitedString(Object[] arr, String delim) Convert aStringarray into a delimitedString(e.g.static Stringcapitalize(String str) Capitalize aString, changing the first letter to upper case as perCharacter.toUpperCase(char).static StringNormalize the path by suppressing sequences like "path/.." and inner simple dots.static StringConvert aCollectioninto a delimitedString(e.g., CSV).static StringcollectionToDelimitedString(Collection<?> coll, String delim) Convert aCollectioninto a delimitedString(e.g.static StringcollectionToDelimitedString(Collection<?> coll, String delim, String prefix, String suffix) Convert aCollectionto a delimitedString(e.g.Convert a comma delimited list (e.g., a row from a CSV file) into a set.static String[]Convert a comma delimited list (e.g., a row from a CSV file) into an array of strings.static String[]concatenateStringArrays(String[] array1, String[] array2) Concatenate the givenStringarrays into one, with overlapping array elements included twice.static booleanCheck whether the givenCharSequencecontains any whitespace characters.static booleancontainsWhitespace(String str) Check whether the givenStringcontains any whitespace characters.static intcountOccurrencesOf(String str, String sub) Count the occurrences of the substringsubin stringstr.static StringDelete all occurrences of the given substring.static StringDelete any character in a givenString.static String[]delimitedListToStringArray(String str, String delimiter) Take aStringthat is a delimited list and convert it into aStringarray.static String[]delimitedListToStringArray(String str, String delimiter, String charsToDelete) Take aStringthat is a delimited list and convert it into aStringarray.static booleanendsWithIgnoreCase(String str, String suffix) Test if the givenStringends with the specified suffix, ignoring upper/lower case.static StringgetFilename(String path) Extract the filename from the given Java resource path, e.g.static StringgetFilenameExtension(String path) Extract the filename extension from the given Java resource path, e.g.static booleanhasLength(CharSequence str) Check that the givenCharSequenceis neithernullnor of length 0.static booleanCheck that the givenStringis neithernullnor of length 0.static booleanhasText(CharSequence str) Check whether the givenCharSequencecontains actual text.static booleanCheck whether the givenStringcontains actual text.static booleanDeprecated.static booleanmatchesCharacter(String str, char singleCharacter) Test if the givenStringmatches the given single character.static LocaleparseLocale(String localeValue) Parse the givenStringvalue into aLocale, accepting theLocale.toString()format as well as BCP 47 language tags as specified byLocale.forLanguageTag(java.lang.String).static LocaleparseLocaleString(String localeString) Parse the givenStringrepresentation into aLocale.static TimeZoneparseTimeZoneString(String timeZoneString) Parse the giventimeZoneStringvalue into aTimeZone.static booleanpathEquals(String path1, String path2) Compare two paths after normalization of them.static StringQuote the givenStringwith single quotes.static ObjectquoteIfString(Object obj) Turn the given Object into aStringwith single quotes if it is aString; keeping the Object as-is else.static String[]removeDuplicateStrings(String[] array) Remove duplicate strings from the given array.static StringReplace all occurrences of a substring within a string with another string.static String[]sortStringArray(String[] array) Sort the givenStringarray if necessary.static String[]Split aStringat the first occurrence of the delimiter.static PropertiessplitArrayElementsIntoProperties(String[] array, String delimiter) Take an array of strings and split each element based on the given delimiter.static PropertiessplitArrayElementsIntoProperties(String[] array, String delimiter, String charsToDelete) Take an array of strings and split each element based on the given delimiter.static booleanstartsWithIgnoreCase(String str, String prefix) Test if the givenStringstarts with the specified prefix, ignoring upper/lower case.static StringstripFilenameExtension(String path) Strip the filename extension from the given Java resource path, e.g.static booleansubstringMatch(CharSequence str, int index, CharSequence substring) Test whether the given string matches the given substring at the given index.static String[]tokenizeToStringArray(String str, String delimiters) static String[]tokenizeToStringArray(String str, String delimiters, boolean trimTokens, boolean ignoreEmptyTokens) static String[]toStringArray(Collection<String> collection) Copy the givenCollectioninto aStringarray.static String[]toStringArray(Enumeration<String> enumeration) Copy the givenEnumerationinto aStringarray.static CharSequenceTrim all whitespace from the givenCharSequence: leading, trailing, and in between characters.static StringtrimAllWhitespace(String str) Trim all whitespace from the givenString: leading, trailing, and in between characters.static String[]trimArrayElements(String[] array) Trim the elements of the givenStringarray, callingString.trim()on each non-null element.static StringtrimLeadingCharacter(String str, char leadingCharacter) Trim all occurrences of the supplied leading character from the givenString.static StringDeprecated.since 6.0, in favor ofString.stripLeading()static StringtrimTrailingCharacter(String str, char trailingCharacter) Trim all occurrences of the supplied trailing character from the givenString.static StringDeprecated.since 6.0, in favor ofString.stripTrailing()static StringtrimWhitespace(String str) Deprecated.since 6.0, in favor ofString.strip()static Stringtruncate(CharSequence charSequence) Truncate the suppliedCharSequence.static Stringtruncate(CharSequence charSequence, int threshold) Truncate the suppliedCharSequence.static Stringuncapitalize(String str) Uncapitalize aString, changing the first letter to lower case as perCharacter.toLowerCase(char).static StringUncapitalize aStringin JavaBeans property format, changing the first letter to lower case as perCharacter.toLowerCase(char), unless the initial two letters are upper case in direct succession.static StringUnqualify a string qualified by a '.' dot character.static StringUnqualify a string qualified by a separator character.static StringDecode the given encoded URI component value.
-
Constructor Details
-
StringUtils
public StringUtils()
-
-
Method Details
-
isEmpty
Deprecated.Check whether the given object (possibly aString) is empty. This is effectively a shortcut for!hasLength(String).This method accepts any Object as an argument, comparing it to
nulland the empty String. As a consequence, this method will never returntruefor a non-null non-String object.The Object signature is useful for general attribute handling code that commonly deals with Strings but generally has to iterate over Objects since attributes may e.g. be primitive value objects as well.
Note: If the object is typed to
Stringupfront, preferhasLength(String)orhasText(String)instead.- Parameters:
str- the candidate object (possibly aString)- Since:
- 3.2.1
-
hasLength
Check that the givenCharSequenceis neithernullnor of length 0.Note: this method returns
truefor aCharSequencethat purely consists of whitespace.StringUtils.hasLength(null) = false StringUtils.hasLength("") = false StringUtils.hasLength(" ") = true StringUtils.hasLength("Hello") = true- Parameters:
str- theCharSequenceto check (may benull)- Returns:
trueif theCharSequenceis notnulland has length- See Also:
-
hasLength
Check that the givenStringis neithernullnor of length 0.Note: this method returns
truefor aStringthat purely consists of whitespace.- Parameters:
str- theStringto check (may benull)- Returns:
trueif theStringis notnulland has length- See Also:
-
hasText
Check whether the givenCharSequencecontains actual text.More specifically, this method returns
trueif theCharSequenceis notnull, its length is greater than 0, and it contains at least one non-whitespace character.StringUtils.hasText(null) = false StringUtils.hasText("") = false StringUtils.hasText(" ") = false StringUtils.hasText("12345") = true StringUtils.hasText(" 12345 ") = true- Parameters:
str- theCharSequenceto check (may benull)- Returns:
trueif theCharSequenceis notnull, its length is greater than 0, and it does not contain whitespace only- See Also:
-
hasText
Check whether the givenStringcontains actual text.More specifically, this method returns
trueif theStringis notnull, its length is greater than 0, and it contains at least one non-whitespace character.- Parameters:
str- theStringto check (may benull)- Returns:
trueif theStringis notnull, its length is greater than 0, and it does not contain whitespace only- See Also:
-
containsWhitespace
Check whether the givenCharSequencecontains any whitespace characters.- Parameters:
str- theCharSequenceto check (may benull)- Returns:
trueif theCharSequenceis not empty and contains at least 1 whitespace character- See Also:
-
containsWhitespace
Check whether the givenStringcontains any whitespace characters.- Parameters:
str- theStringto check (may benull)- Returns:
trueif theStringis not empty and contains at least 1 whitespace character- See Also:
-
trimWhitespace
Deprecated.since 6.0, in favor ofString.strip()Trim leading and trailing whitespace from the givenString.- Parameters:
str- theStringto check- Returns:
- the trimmed
String - See Also:
-
trimAllWhitespace
Trim all whitespace from the givenCharSequence: leading, trailing, and in between characters.- Parameters:
str- theCharSequenceto check- Returns:
- the trimmed
CharSequence - Since:
- 5.3.22
- See Also:
-
trimAllWhitespace
Trim all whitespace from the givenString: leading, trailing, and in between characters.- Parameters:
str- theStringto check- Returns:
- the trimmed
String - See Also:
-
trimLeadingWhitespace
Deprecated.since 6.0, in favor ofString.stripLeading()Trim leading whitespace from the givenString.- Parameters:
str- theStringto check- Returns:
- the trimmed
String - See Also:
-
trimTrailingWhitespace
Deprecated.since 6.0, in favor ofString.stripTrailing()Trim trailing whitespace from the givenString.- Parameters:
str- theStringto check- Returns:
- the trimmed
String - See Also:
-
trimLeadingCharacter
Trim all occurrences of the supplied leading character from the givenString.- Parameters:
str- theStringto checkleadingCharacter- the leading character to be trimmed- Returns:
- the trimmed
String
-
trimTrailingCharacter
Trim all occurrences of the supplied trailing character from the givenString.- Parameters:
str- theStringto checktrailingCharacter- the trailing character to be trimmed- Returns:
- the trimmed
String
-
matchesCharacter
Test if the givenStringmatches the given single character.- Parameters:
str- theStringto checksingleCharacter- the character to compare to- Since:
- 5.2.9
-
startsWithIgnoreCase
Test if the givenStringstarts with the specified prefix, ignoring upper/lower case.- Parameters:
str- theStringto checkprefix- the prefix to look for- See Also:
-
endsWithIgnoreCase
Test if the givenStringends with the specified suffix, ignoring upper/lower case.- Parameters:
str- theStringto checksuffix- the suffix to look for- See Also:
-
substringMatch
Test whether the given string matches the given substring at the given index.- Parameters:
str- the original string (or StringBuilder)index- the index in the original string to start matching againstsubstring- the substring to match at the given index
-
countOccurrencesOf
Count the occurrences of the substringsubin stringstr.- Parameters:
str- string to search insub- string to search for
-
replace
Replace all occurrences of a substring within a string with another string.- Parameters:
inString-Stringto examineoldPattern-Stringto replacenewPattern-Stringto insert- Returns:
- a
Stringwith the replacements
-
delete
Delete all occurrences of the given substring.- Parameters:
inString- the originalStringpattern- the pattern to delete all occurrences of- Returns:
- the resulting
String
-
deleteAny
Delete any character in a givenString.- Parameters:
inString- the originalStringcharsToDelete- a set of characters to delete. E.g. "az\n" will delete 'a's, 'z's and new lines.- Returns:
- the resulting
String
-
quote
Quote the givenStringwith single quotes.- Parameters:
str- the inputString(e.g. "myString")- Returns:
- the quoted
String(e.g. "'myString'"), ornullif the input wasnull
-
quoteIfString
Turn the given Object into aStringwith single quotes if it is aString; keeping the Object as-is else.- Parameters:
obj- the input Object (e.g. "myString")- Returns:
- the quoted
String(e.g. "'myString'"), or the input object as-is if not aString
-
unqualify
Unqualify a string qualified by a '.' dot character. For example, "this.name.is.qualified", returns "qualified".- Parameters:
qualifiedName- the qualified name
-
unqualify
Unqualify a string qualified by a separator character. For example, "this:name:is:qualified" returns "qualified" if using a ':' separator.- Parameters:
qualifiedName- the qualified nameseparator- the separator
-
capitalize
Capitalize aString, changing the first letter to upper case as perCharacter.toUpperCase(char). No other letters are changed.- Parameters:
str- theStringto capitalize- Returns:
- the capitalized
String
-
uncapitalize
-
hasLength(String)andhasText(String)(orObjectUtils.isEmpty(Object))