java.lang.Object | |
↳ | org.springframework.util.StringUtils |
Miscellaneous String utility methods.
Mainly for internal use within the framework; consider Jakarta'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, such as the ability to replace(String, String, String)
all occurrences of a given
substring in a target string. It also provides easy-to-use methods to convert
between delimited strings, such as CSV strings, and collections and arrays.
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Append the given String to the given String array, returning a new array
consisting of the input array contents plus the given String.
| |||||||||||
Apply the given relative path to the given path,
assuming standard Java folder separation (i.e.
| |||||||||||
Convenience method to return a String array as a CSV String.
| |||||||||||
Convenience method to return a String array as a delimited (e.g.
| |||||||||||
Capitalize a
String , changing the first letter to
upper case as per toUpperCase(char) . | |||||||||||
Normalize the path by suppressing sequences like "path/.." and
inner simple dots.
| |||||||||||
Convenience method to return a Collection as a CSV String.
| |||||||||||
Convenience method to return a Collection as a delimited (e.g.
| |||||||||||
Convenience method to return a Collection as a delimited (e.g.
| |||||||||||
Convenience method to convert a CSV string list to a set.
| |||||||||||
Convert a CSV list into an array of Strings.
| |||||||||||
Concatenate the given String arrays into one,
with overlapping array elements included twice.
| |||||||||||
Check whether the given String contains any whitespace characters.
| |||||||||||
Check whether the given CharSequence contains any whitespace characters.
| |||||||||||
Count the occurrences of the substring in string s.
| |||||||||||
Delete all occurrences of the given substring.
| |||||||||||
Delete any character in a given String.
| |||||||||||
Take a String which is a delimited list and convert it to a String array.
| |||||||||||
Take a String which is a delimited list and convert it to a String array.
| |||||||||||
Test if the given String ends with the specified suffix,
ignoring upper/lower case.
| |||||||||||
Extract the filename from the given path,
e.g.
| |||||||||||
Extract the filename extension from the given path,
e.g.
| |||||||||||
Check that the given CharSequence is neither
null nor of length 0. | |||||||||||
Check that the given String is neither
null nor of length 0. | |||||||||||
Check whether the given String has actual text.
| |||||||||||
Check whether the given CharSequence has actual text.
| |||||||||||
Merge the given String arrays into one, with overlapping
array elements only included once.
| |||||||||||
Parse the given
localeString value into a Locale . | |||||||||||
Compare two paths after normalization of them.
| |||||||||||
Quote the given String with single quotes.
| |||||||||||
Turn the given Object into a String with single quotes
if it is a String; keeping the Object as-is else.
| |||||||||||
Remove duplicate Strings from the given array.
| |||||||||||
Replace all occurences of a substring within a string with
another string.
| |||||||||||
Turn given source String array into sorted array.
| |||||||||||
Split a String at the first occurrence of the delimiter.
| |||||||||||
Take an array Strings and split each element based on the given delimiter.
| |||||||||||
Take an array Strings and split each element based on the given delimiter.
| |||||||||||
Test if the given String starts with the specified prefix,
ignoring upper/lower case.
| |||||||||||
Strip the filename extension from the given path,
e.g.
| |||||||||||
Test whether the given string matches the given substring
at the given index.
| |||||||||||
Determine the RFC 3066 compliant language tag,
as used for the HTTP "Accept-Language" header.
| |||||||||||
Copy the given Enumeration into a String array.
| |||||||||||
Copy the given Collection into a String array.
| |||||||||||
Tokenize the given String into a String array via a StringTokenizer.
| |||||||||||
Tokenize the given String into a String array via a StringTokenizer.
| |||||||||||
Trim all whitespace from the given String:
leading, trailing, and inbetween characters.
| |||||||||||
Trim the elements of the given String array,
calling
String.trim() on each of them. | |||||||||||
Trim all occurences of the supplied leading character from the given String.
| |||||||||||
Trim leading whitespace from the given String.
| |||||||||||
Trim all occurences of the supplied trailing character from the given String.
| |||||||||||
Trim trailing whitespace from the given String.
| |||||||||||
Trim leading and trailing whitespace from the given String.
| |||||||||||
Uncapitalize a
String , changing the first letter to
lower case as per toLowerCase(char) . | |||||||||||
Unqualify a string qualified by a separator character.
| |||||||||||
Unqualify a string qualified by a '.' dot character.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Append the given String to the given String array, returning a new array consisting of the input array contents plus the given String.
array | the array to append to (can be null ) |
---|---|
str | the String to append |
null
)
Apply the given relative path to the given path, assuming standard Java folder separation (i.e. "/" separators).
path | the path to start from (usually a full file path) |
---|---|
relativePath | the relative path to apply (relative to the full file path above) |
Convenience method to return a String array as a CSV String.
E.g. useful for toString()
implementations.
arr | the array to display |
---|
Convenience method to return a String array as a delimited (e.g. CSV)
String. E.g. useful for toString()
implementations.
arr | the array to display |
---|---|
delim | the delimiter to use (probably a ",") |
Capitalize a String
, changing the first letter to
upper case as per toUpperCase(char)
.
No other letters are changed.
str | the String to capitalize, may be null |
---|
null
if null
Normalize the path by suppressing sequences like "path/.." and inner simple dots.
The result is convenient for path comparison. For other uses, notice that Windows separators ("\") are replaced by simple slashes.
path | the original path |
---|
Convenience method to return a Collection as a CSV String.
E.g. useful for toString()
implementations.
coll | the Collection to display |
---|
Convenience method to return a Collection as a delimited (e.g. CSV)
String. E.g. useful for toString()
implementations.
coll | the Collection to display |
---|---|
delim | the delimiter to use (probably a ",") |
prefix | the String to start each element with |
suffix | the String to end each element with |
Convenience method to return a Collection as a delimited (e.g. CSV)
String. E.g. useful for toString()
implementations.
coll | the Collection to display |
---|---|
delim | the delimiter to use (probably a ",") |
Convenience method to convert a CSV string list to a set. Note that this will suppress duplicates.
str | the input String |
---|
Convert a CSV list into an array of Strings.
str | the input String |
---|
Concatenate the given String arrays into one, with overlapping array elements included twice.
The order of elements in the original arrays is preserved.
array1 | the first array (can be null ) |
---|---|
array2 | the second array (can be null ) |
null
if both given arrays were null
)
Check whether the given String contains any whitespace characters.
str | the String to check (may be null ) |
---|
true
if the String is not empty and
contains at least 1 whitespace characterCheck whether the given CharSequence contains any whitespace characters.
str | the CharSequence to check (may be null ) |
---|
true
if the CharSequence is not empty and
contains at least 1 whitespace characterCount the occurrences of the substring in string s.
str | string to search in. Return 0 if this is null. |
---|---|
sub | string to search for. Return 0 if this is null. |
Delete all occurrences of the given substring.
inString | the original String |
---|---|
pattern | the pattern to delete all occurrences of |
Delete any character in a given String.
inString | the original String |
---|---|
charsToDelete | a set of characters to delete. E.g. "az\n" will delete 'a's, 'z's and new lines. |
Take a String which is a delimited list and convert it to a String array.
A single delimiter can consists of more than one character: It will still
be considered as single delimiter string, rather than as bunch of potential
delimiter characters - in contrast to tokenizeToStringArray
.
str | the input String |
---|---|
delimiter | the delimiter between elements (this is a single delimiter, rather than a bunch individual delimiter characters) |
Take a String which is a delimited list and convert it to a String array.
A single delimiter can consists of more than one character: It will still
be considered as single delimiter string, rather than as bunch of potential
delimiter characters - in contrast to tokenizeToStringArray
.
str | the input String |
---|---|
delimiter | the delimiter between elements (this is a single delimiter, rather than a bunch individual delimiter characters) |
charsToDelete | a set of characters to delete. Useful for deleting unwanted line breaks: e.g. "\r\n\f" will delete all new lines and line feeds in a String. |
Test if the given String ends with the specified suffix, ignoring upper/lower case.
str | the String to check |
---|---|
suffix | the suffix to look for |
Extract the filename from the given path, e.g. "mypath/myfile.txt" -> "myfile.txt".
path | the file path (may be null ) |
---|
null
if none
Extract the filename extension from the given path, e.g. "mypath/myfile.txt" -> "txt".
path | the file path (may be null ) |
---|
null
if none
Check that the given CharSequence is neither null
nor of length 0.
Note: Will return true
for a CharSequence that purely consists of whitespace.
StringUtils.hasLength(null) = false StringUtils.hasLength("") = false StringUtils.hasLength(" ") = true StringUtils.hasLength("Hello") = true
str | the CharSequence to check (may be null ) |
---|
true
if the CharSequence is not null and has lengthCheck that the given String is neither null
nor of length 0.
Note: Will return true
for a String that purely consists of whitespace.
str | the String to check (may be null ) |
---|
true
if the String is not null and has lengthCheck whether the given String has actual text.
More specifically, returns true
if the string not null
,
its length is greater than 0, and it contains at least one non-whitespace character.
str | the String to check (may be null ) |
---|
true
if the String is not null
, its length is
greater than 0, and it does not contain whitespace onlyCheck whether the given CharSequence has actual text.
More specifically, returns true
if the string not null
,
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
str | the CharSequence to check (may be null ) |
---|
true
if the CharSequence is not null
,
its length is greater than 0, and it does not contain whitespace onlyMerge the given String arrays into one, with overlapping array elements only included once.
The order of elements in the original arrays is preserved (with the exception of overlapping elements, which are only included on their first occurence).
array1 | the first array (can be null ) |
---|---|
array2 | the second array (can be null ) |
null
if both given arrays were null
)
Parse the given localeString
value into a Locale
.
This is the inverse operation of Locale's toString
.
localeString | the locale string, following Locale's
toString() format ("en", "en_UK", etc);
also accepts spaces as separators, as an alternative to underscores |
---|
Locale
instance
Compare two paths after normalization of them.
path1 | first path for comparison |
---|---|
path2 | second path for comparison |
Quote the given String with single quotes.
str | the input String (e.g. "myString") |
---|
null if the input was null
Turn the given Object into a String with single quotes if it is a String; keeping the Object as-is else.
obj | the input Object (e.g. "myString") |
---|
Remove duplicate Strings from the given array. Also sorts the array, as it uses a TreeSet.
array | the String array |
---|
Replace all occurences of a substring within a string with another string.
inString | String to examine |
---|---|
oldPattern | String to replace |
newPattern | String to insert |
Turn given source String array into sorted array.
array | the source array |
---|
null
)
Split a String at the first occurrence of the delimiter. Does not include the delimiter in the result.
toSplit | the string to split |
---|---|
delimiter | to split the string up with |
null
if the delimiter wasn't found in the given input String
Take an array Strings and split each element based on the given delimiter.
A Properties
instance is then generated, with the left of the
delimiter providing the key, and the right of the delimiter providing the value.
Will trim both the key and value before adding them to the
Properties
instance.
array | the array to process |
---|---|
delimiter | to split each element using (typically the equals symbol) |
charsToDelete | one or more characters to remove from each element
prior to attempting the split operation (typically the quotation mark
symbol), or null if no removal should occur |
Properties
instance representing the array contents,
or null
if the array to process was null
or empty
Take an array Strings and split each element based on the given delimiter.
A Properties
instance is then generated, with the left of the
delimiter providing the key, and the right of the delimiter providing the value.
Will trim both the key and value before adding them to the
Properties
instance.
array | the array to process |
---|---|
delimiter | to split each element using (typically the equals symbol) |
Properties
instance representing the array contents,
or null
if the array to process was null or empty
Test if the given String starts with the specified prefix, ignoring upper/lower case.
str | the String to check |
---|---|
prefix | the prefix to look for |
Strip the filename extension from the given path, e.g. "mypath/myfile.txt" -> "mypath/myfile".
path | the file path (may be null ) |
---|
null
if none
Test whether the given string matches the given substring at the given index.
str | the original string (or StringBuilder) |
---|---|
index | the index in the original string to start matching against |
substring | the substring to match at the given index |
Determine the RFC 3066 compliant language tag, as used for the HTTP "Accept-Language" header.
locale | the Locale to transform to a language tag |
---|
Copy the given Enumeration into a String array. The Enumeration must contain String elements only.
enumeration | the Enumeration to copy |
---|
null
if the passed-in
Enumeration was null
)
Copy the given Collection into a String array. The Collection must contain String elements only.
collection | the Collection to copy |
---|
null
if the passed-in
Collection was null
)
Tokenize the given String into a String array via a StringTokenizer.
The given delimiters string is supposed to consist of any number of
delimiter characters. Each of those characters can be used to separate
tokens. A delimiter is always a single character; for multi-character
delimiters, consider using delimitedListToStringArray
str | the String to tokenize |
---|---|
delimiters | the delimiter characters, assembled as String (each of those characters is individually considered as delimiter) |
trimTokens | trim the tokens via String's trim |
ignoreEmptyTokens | omit empty tokens from the result array (only applies to tokens that are empty after trimming; StringTokenizer will not consider subsequent delimiters as token in the first place). |
null
if the input String
was null
)trim()
delimitedListToStringArray(String, String)
Tokenize the given String into a String array via a StringTokenizer. Trims tokens and omits empty tokens.
The given delimiters string is supposed to consist of any number of
delimiter characters. Each of those characters can be used to separate
tokens. A delimiter is always a single character; for multi-character
delimiters, consider using delimitedListToStringArray
str | the String to tokenize |
---|---|
delimiters | the delimiter characters, assembled as String (each of those characters is individually considered as delimiter). |
trim()
delimitedListToStringArray(String, String)
Trim all whitespace from the given String: leading, trailing, and inbetween characters.
str | the String to check |
---|
Trim the elements of the given String array,
calling String.trim()
on each of them.
array | the original String array |
---|
Trim all occurences of the supplied leading character from the given String.
str | the String to check |
---|---|
leadingCharacter | the leading character to be trimmed |
Trim leading whitespace from the given String.
str | the String to check |
---|
Trim all occurences of the supplied trailing character from the given String.
str | the String to check |
---|---|
trailingCharacter | the trailing character to be trimmed |
Trim trailing whitespace from the given String.
str | the String to check |
---|
Trim leading and trailing whitespace from the given String.
str | the String to check |
---|
Uncapitalize a String
, changing the first letter to
lower case as per toLowerCase(char)
.
No other letters are changed.
str | the String to uncapitalize, may be null |
---|
null
if null
Unqualify a string qualified by a separator character. For example, "this:name:is:qualified" returns "qualified" if using a ':' separator.
qualifiedName | the qualified name |
---|---|
separator | the separator |
Unqualify a string qualified by a '.' dot character. For example, "this.name.is.qualified", returns "qualified".
qualifiedName | the qualified name |
---|