|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.shell.support.util.StringUtils
public final class 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(java.lang.String, java.lang.String, java.lang.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.
org.apache.commons.lang.StringUtils
Field Summary | |
---|---|
static String |
LINE_SEPARATOR
The platform-specific line separator. |
Method Summary | |
---|---|
static String[] |
addStringToArray(String[] arr,
String str)
Append the given String to the given String array, returning a new array consisting of the input array contents plus the given String. |
static String |
applyRelativePath(String path,
String relativePath)
Apply the given relative path to the given path, assuming standard Java folder separation (i.e. "/" separators); |
static String |
arrayToCommaDelimitedString(Object[] arr)
Convenience method to return a String array as a CSV String. |
static String |
arrayToDelimitedString(Object[] arr,
String delim)
Convenience method to return a String array as a delimited (e.g. |
static String |
arrayToDelimitedString(String delim,
Object... arr)
Convenience method to return a String array as a delimited (e.g. |
static String |
capitalize(String str)
Capitalize a String , changing the first letter to
upper case as per Character.toUpperCase(char) . |
static String |
cleanPath(String path)
Normalize the path by suppressing sequences like "path/.." and inner simple dots. |
static String |
collectionToCommaDelimitedString(Collection<?> coll)
Convenience method to return a Collection as a CSV String. |
static String |
collectionToDelimitedString(Collection<?> coll,
String delim)
Concatenates the given collection using the given delimiter between each item. |
static String |
collectionToDelimitedString(Collection<?> coll,
String delim,
String prefix,
String suffix)
Convenience method to return a Collection as a delimited (e.g. |
static Set<String> |
commaDelimitedListToSet(String str)
Convenience method to convert a CSV string list to a set. |
static String[] |
commaDelimitedListToStringArray(String str)
Convert a CSV list into an array of Strings. |
static String[] |
concatenateStringArrays(String[] arr1,
String[] arr2)
Concatenate the given String arrays into one, with overlapping array elements included twice. |
static boolean |
contains(String str,
String substr)
Indicates whether the given substring occurs within the given string. |
static boolean |
containsWhitespace(CharSequence str)
Check whether the given CharSequence contains any whitespace characters. |
static boolean |
containsWhitespace(String str)
Check whether the given String contains any whitespace characters. |
static int |
countOccurrencesOf(String str,
String sub)
Count the occurrences of the substring in string s. |
static String |
defaultIfEmpty(String str,
String... defaultValues)
Returns either the passed in String, or if it's blank, the first of the given default values that is not blank. |
static String |
delete(String inString,
String pattern)
Delete all occurrences of the given substring. |
static String |
deleteAny(String inString,
String charsToDelete)
Delete any character in a given String. |
static String[] |
delimitedListToStringArray(String str,
String delim)
Take a String which is a delimited list and convert it to a String array. |
static String[] |
delimitedListToStringArray(String str,
String delimiter,
String charsToDelete)
Take a String which is a delimited list and convert it to a String array. |
static boolean |
endsWithIgnoreCase(String str,
String suffix)
Test if the given String ends with the specified suffix, ignoring upper/lower case. |
static boolean |
equals(String str1,
String str2)
Indicates whether the two given strings are equal, including case, where null is (only) equal to null . |
static String |
getFilename(String path)
Extract the filename from the given path, e.g. |
static String |
getFilenameExtension(String path)
Extract the filename extension from the given path, e.g. |
static boolean |
hasLength(CharSequence str)
Check that the given CharSequence is neither null nor of length 0. |
static boolean |
hasLength(String str)
Check that the given String is neither null nor of length 0. |
static boolean |
hasText(CharSequence str)
Check whether the given CharSequence has actual text. |
static boolean |
hasText(String str)
Check whether the given String has actual text. |
static boolean |
isBlank(String str)
Indicates whether the given text is blank. |
static String[] |
mergeStringArrays(String[] arr1,
String[] arr2)
Merge the given String arrays into one, with overlapping array elements only included once. |
static String |
padLeft(String str,
int size,
char padChar)
Left pads the presented string with the delim character. |
static String |
padRight(String str,
int size,
char padChar)
Right pads the presented string with the delim character. |
static Locale |
parseLocaleString(String localeString)
Parse the given localeString into a Locale . |
static boolean |
pathEquals(String path1,
String path2)
Compare two paths after normalization of them. |
static String |
prefix(String str,
String prefix)
Prefixes the given string with the given prefix, if it's not already. |
static String |
quote(String str)
Quote the given String with single quotes. |
static Object |
quoteIfString(Object obj)
Turn the given Object into a String with single quotes if it is a String; keeping the Object as-is else. |
static String[] |
removeDuplicateStrings(String[] arr)
Remove duplicate Strings from the given array. |
static String |
removePrefix(String str,
String prefix)
Removes the given prefix from the given string, if it exists |
static String |
removeSuffix(String str,
String suffix)
Removes the given suffix from the given string, if it exists |
static String |
repeat(String str,
int times)
Returns the given string repeated the given number of times |
static String |
replace(String original,
String toReplace,
String replacement)
Replaces all occurrences of one string within another. |
static String |
replaceFirst(String original,
String toReplace,
String replacement)
Replaces the first occurrence of the given substring in the given string. |
static String[] |
sortStringArray(String[] arr)
Turn given source String array into sorted array. |
static String[] |
split(String toSplit,
String delim)
Split a String at the first occurrence of the delimiter. |
static Properties |
splitArrayElementsIntoProperties(String[] arr,
String delim)
Take an array Strings and split each element based on the given delimiter. |
static Properties |
splitArrayElementsIntoProperties(String[] arr,
String delim,
String charsToDelete)
Take an array Strings and split each element based on the given delimiter. |
static boolean |
startsWithIgnoreCase(String str,
String prefix)
Test if the given String starts with the specified prefix, ignoring upper/lower case. |
static String |
stripFilenameExtension(String path)
Strip the filename extension from the given path, e.g. |
static String |
substringAfterLast(String original,
String separator)
Returns the substring after the last occurrence of a separator. |
static boolean |
substringMatch(CharSequence str,
int index,
CharSequence substring)
Test whether the given string matches the given substring at the given index. |
static String |
suffix(String str,
String suffix)
Appends the given suffix to the given string, if not already present |
static String[] |
tokenizeToStringArray(String str,
String delimiters)
Tokenize the given String into a String array via a StringTokenizer. |
static String[] |
tokenizeToStringArray(String str,
String delimiters,
boolean trimTokens,
boolean ignoreEmptyTokens)
Tokenize the given String into a String array via a StringTokenizer. |
static String |
toLanguageTag(Locale locale)
Determine the RFC 3066 compliant language tag, as used for the HTTP "Accept-Language" header. |
static String |
toLowerCase(String str)
Converts the given String to lowercase. |
static String[] |
toStringArray(Collection<String> coll)
Copy the given Collection into a String array. |
static String[] |
toStringArray(Enumeration<String> enumeration)
Copy the given Enumeration into a String array. |
static String |
toUpperCase(String str)
Converts the given String to uppercase. |
static String |
trimAllWhitespace(String str)
Trim all whitespace from the given String: leading, trailing, and inbetween characters. |
static String[] |
trimArrayElements(String[] arr)
Trim the elements of the given String array, calling String.trim() on each of them. |
static String |
trimLeadingCharacter(String str,
char leadingCharacter)
Trim all occurences of the supplied leading character from the given String. |
static String |
trimLeadingWhitespace(String str)
Trim leading whitespace from the given String. |
static String |
trimToEmpty(String str)
Removes leading and trailing whitespace 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 leading and trailing whitespace from both ends of this String returning null if the String is empty ("") after the trim or if it is null . |
static String |
trimTrailingCharacter(String str,
char trailingCharacter)
Trim all occurences of the supplied trailing character from the given String. |
static String |
trimTrailingWhitespace(String str)
Trim trailing whitespace from the given String. |
static String |
trimWhitespace(String str)
Trim leading and trailing whitespace from the given String. |
static String |
uncapitalize(String str)
Uncapitalize a String , changing the first letter to
lower case as per Character.toLowerCase(char) . |
static String |
unqualify(String qualifiedName)
Unqualify a string qualified by a '.' dot character. |
static String |
unqualify(String qualifiedName,
char separator)
Unqualify a string qualified by a separator character. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final String LINE_SEPARATOR
Method Detail |
---|
public static boolean hasLength(CharSequence str)
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 lengthhasText(String)
public static boolean hasLength(String str)
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 lengthhasLength(CharSequence)
public static boolean hasText(CharSequence str)
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 onlyCharacter.isWhitespace(char)
public static boolean hasText(String str)
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 onlyhasText(CharSequence)
public static boolean contains(String str, String substr)
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 look within (can be null
)substr
- the string to look for (can be null
)
public static boolean containsWhitespace(CharSequence str)
str
- the CharSequence to check (may be null
)
true
if the CharSequence is not empty and
contains at least 1 whitespace characterCharacter.isWhitespace(char)
public static boolean containsWhitespace(String str)
str
- the String to check (may be null
)
true
if the String is not empty and
contains at least 1 whitespace charactercontainsWhitespace(CharSequence)
public static String trimWhitespace(String str)
str
- the String to check
Character.isWhitespace(char)
public static String trimAllWhitespace(String str)
str
- the String to check
Character.isWhitespace(char)
public static String trimLeadingWhitespace(String str)
str
- the String to check
Character.isWhitespace(char)
public static String trimTrailingWhitespace(String str)
str
- the String to check
Character.isWhitespace(char)
public static String trimLeadingCharacter(String str, char leadingCharacter)
str
- the String to checkleadingCharacter
- the leading character to be trimmed
public static String trimTrailingCharacter(String str, char trailingCharacter)
str
- the String to checktrailingCharacter
- the trailing character to be trimmed
public static boolean startsWithIgnoreCase(String str, String prefix)
str
- the String to checkprefix
- the prefix to look forString.startsWith(java.lang.String, int)
public static boolean endsWithIgnoreCase(String str, String suffix)
str
- the String to checksuffix
- the suffix to look forString.endsWith(java.lang.String)
public static boolean substringMatch(CharSequence str, int index, CharSequence substring)
str
- the original string (or StringBuilder)index
- the index in the original string to start matching againstsubstring
- the substring to match at the given indexpublic static int countOccurrencesOf(String str, String sub)
str
- string to search in. Return 0 if this is null.sub
- string to search for. Return 0 if this is null.public static String repeat(String str, int times)
str
- the string to repeat (can be null or empty)times
- the number of times to repeat it
null
if null
is givenpublic static String replace(String original, String toReplace, String replacement)
original
- the string to modify (can be zero length to do nothing)toReplace
- the string to replace (can be blank to do nothing)replacement
- the string to replace it with (can be null
to do nothing)
public static String delete(String inString, String pattern)
inString
- the original Stringpattern
- the pattern to delete all occurrences of
public static String deleteAny(String inString, String charsToDelete)
inString
- the original StringcharsToDelete
- a set of characters to delete.
E.g. "az\n" will delete 'a's, 'z's and new lines.
public static String quote(String str)
str
- the input String (e.g. "myString")
null if the input was null
public static Object quoteIfString(Object obj)
obj
- the input Object (e.g. "myString")
public static String unqualify(String qualifiedName)
qualifiedName
- the qualified namepublic static String unqualify(String qualifiedName, char separator)
qualifiedName
- the qualified nameseparator
- the separatorpublic static String capitalize(String str)
String
, changing the first letter to
upper case as per Character.toUpperCase(char)
.
No other letters are changed.
str
- the String to capitalize, may be null
null
if nullpublic static String uncapitalize(String str)
String
, changing the first letter to
lower case as per Character.toLowerCase(char)
.
No other letters are changed.
str
- the String to uncapitalize, may be null
null
if nullpublic static String getFilename(String path)
path
- the file path (may be null
)
null
if nonepublic static String getFilenameExtension(String path)
path
- the file path (may be null
)
null
if nonepublic static String stripFilenameExtension(String path)
path
- the file path (may be null
)
null
if nonepublic static String applyRelativePath(String path, String relativePath)
path
- the path to start from (usually a full file path)relativePath
- the relative path to apply
(relative to the full file path above)
public static String cleanPath(String path)
The result is convenient for path comparison. For other uses, notice that Windows separators ("\") are replaced by simple slashes.
path
- the original path
public static boolean pathEquals(String path1, String path2)
path1
- first path for comparisonpath2
- second path for comparison
public static Locale parseLocaleString(String localeString)
localeString
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
instancepublic static String toLanguageTag(Locale locale)
locale
- the Locale to transform to a language tag
public static String[] addStringToArray(String[] arr, String str)
arr
- the array to append to (can be null
)str
- the String to append
null
)public static String[] concatenateStringArrays(String[] arr1, String[] arr2)
The order of elements in the original arrays is preserved.
arr1
- the first array (can be null
)arr2
- the second array (can be null
)
null
if both given arrays were null
)public static String[] mergeStringArrays(String[] arr1, String[] arr2)
The order of elements in the original arrays is preserved (with the exception of overlapping elements, which are only included on their first occurrence).
arr1
- the first array (can be null
)arr2
- the second array (can be null
)
null
if both given arrays were null
)public static String[] sortStringArray(String[] arr)
arr
- the source array
null
)public static String[] toStringArray(Collection<String> coll)
coll
- the Collection to copy
null
if the passed-in
Collection was null
)public static String[] toStringArray(Enumeration<String> enumeration)
enumeration
- the Enumeration to copy
null
if the passed-in
Enumeration was null
)public static String[] trimArrayElements(String[] arr)
String.trim()
on each of them.
arr
- the original String array
public static String[] removeDuplicateStrings(String[] arr)
arr
- the String array
public static String[] split(String toSplit, String delim)
toSplit
- the string to splitdelim
- to split the string up with
null
if the delimiter wasn't found in the given input Stringpublic static Properties splitArrayElementsIntoProperties(String[] arr, String delim)
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.
arr
- the array to processdelim
- 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 emptypublic static Properties splitArrayElementsIntoProperties(String[] arr, String delim, String charsToDelete)
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.
arr
- the array to processdelim
- 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 emptypublic static String[] tokenizeToStringArray(String str, String delimiters)
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 tokenizedelimiters
- the delimiter characters, assembled as String
(each of those characters is individually considered as delimiter).
StringTokenizer
,
String.trim()
,
delimitedListToStringArray(java.lang.String, java.lang.String)
public static String[] tokenizeToStringArray(String str, String delimiters, boolean trimTokens, boolean ignoreEmptyTokens)
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 tokenizedelimiters
- 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
)StringTokenizer
,
String.trim()
,
delimitedListToStringArray(java.lang.String, java.lang.String)
public static String[] delimitedListToStringArray(String str, String delim)
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 Stringdelim
- the delimiter between elements (this is a single delimiter,
rather than a bunch individual delimiter characters)
tokenizeToStringArray(java.lang.String, java.lang.String)
public static String[] delimitedListToStringArray(String str, String delimiter, String charsToDelete)
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 Stringdelimiter
- 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.
tokenizeToStringArray(java.lang.String, java.lang.String)
public static String[] commaDelimitedListToStringArray(String str)
str
- the input String
public static Set<String> commaDelimitedListToSet(String str)
str
- the input String
public static String collectionToDelimitedString(Collection<?> coll, String delim, String prefix, String suffix)
toString()
implementations.
coll
- the Collection to displaydelim
- the delimiter to use (probably a ",")prefix
- the String to start each element withsuffix
- the String to end each element with
null
)public static String collectionToDelimitedString(Collection<?> coll, String delim)
coll
- the collection to display (can be null or empty)delim
- the delimiter to use (can be null or empty for none)
null
)public static String collectionToCommaDelimitedString(Collection<?> coll)
toString()
implementations.
coll
- the Collection to display
public static String arrayToDelimitedString(String delim, Object... arr)
toString()
implementations.
arr
- the array to displaydelim
- the delimiter to use (probably a ",")
public static String arrayToDelimitedString(Object[] arr, String delim)
toString()
implementations.
arr
- the array to displaydelim
- the delimiter to use (probably a ",")
public static String arrayToCommaDelimitedString(Object[] arr)
toString()
implementations.
arr
- the array to display
public static String toUpperCase(String str)
str
- the input String (may be null
)
public static String toLowerCase(String str)
str
- the input String (may be null
)
public static String trimToNull(String str)
Removes leading and trailing whitespace from both ends of this String returning null
if the String is empty ("") after the trim or if it is null
.
StringUtils.trimToNull(null) = null StringUtils.trimToNull("") = null StringUtils.trimToNull(" ") = null StringUtils.trimToNull("abc") = "abc" StringUtils.trimToNull(" abc ") = "abc"
str
- the String to be trimmed, may be null
null
if only chars <= 32, empty or null String inputpublic static String trimToEmpty(String str)
Removes leading and trailing whitespace from both ends of this String returning an empty String ("") if the String is empty after the trim or if it is null
.
StringUtils.trimToNull(null) = "" StringUtils.trimToNull("") = "" StringUtils.trimToNull(" ") = "" StringUtils.trimToNull("abc") = "abc" StringUtils.trimToNull(" abc ") = "abc"
str
- the String to be trimmed, may be null
public static String defaultIfEmpty(String str, String... defaultValues)
StringUtils.defaultIfEmpty(null, "NULL") = "NULL"
StringUtils.defaultIfEmpty("", "NULL") = "NULL"
StringUtils.defaultIfEmpty("bat", "NULL") = "bat"
StringUtils.defaultIfEmpty(null, "", "bat") = "bat"
StringUtils.defaultIfEmpty(null, null, "") = ""
str
- the String to check, may be nulldefaultStr
- the default String to return if the input is empty ("")
or null, may be null; note that if this is an expression, it will be
evaluated before this method is called regardless of whether the first
string is empty, so if this evaluation is expensive and performance is
critical, check the first string for emptiness yourself rather than using
this method
public static String padRight(String str, int size, char padChar)
str
- the string to padsize
- the size to pad topadChar
- the padding character
public static String padLeft(String str, int size, char padChar)
str
- the string to padsize
- the size to pad topadChar
- the padding character
public static String prefix(String str, String prefix)
str
- the string to prefix (can be blank)prefix
- the prefix to apply (can be blank to do nothing)
null
if a null
string was given,
otherwise the prefixed stringpublic static String removePrefix(String str, String prefix)
str
- the string to modify (can be blank to do nothing)prefix
- the prefix to remove (can be blank to do nothing)
null
if a null
string was givenpublic static String removeSuffix(String str, String suffix)
str
- the string to modify (can be blank to do nothing)suffix
- the suffix to remove (can be blank to do nothing)
null
if a null
string was givenpublic static String suffix(String str, String suffix)
str
- the string to modify (can be blank to do nothing)suffix
- the suffix to append (can be blank to do nothing)
null
if a null
string was givenpublic static boolean equals(String str1, String str2)
null
is (only) equal to null
.
str1
- the first string to compare (can be null
)str2
- the second string to compare (can be null
)
public static boolean isBlank(String str)
StringUtils.isBlank(blah)
.
str
- the text to check (can be blank)
hasText(String)
public static String replaceFirst(String original, String toReplace, String replacement)
Use in preference to String.replaceFirst(String, String)
when
toReplace
is not a regular expression (e.g. some part of a
file path, which on Windows will contain backslashes, which have special
meaning to regexs).
original
- the string to modify (can be zero length to do nothing)toReplace
- the string to replace (can be blank to do nothing)replacement
- the string to replace it with (can be null
to do nothing)
public static String substringAfterLast(String original, String separator)
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") = ""
original
- the String to get a substring from, may be null
separator
- the String to search for, may be null
null
if null
String input
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |