public abstract class StringUtils
extends java.lang.Object
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.
| Modifier and Type | Field and Description |
|---|---|
private static java.lang.String |
CURRENT_PATH |
private static char |
EXTENSION_SEPARATOR |
private static java.lang.String |
FOLDER_SEPARATOR |
private static java.lang.String |
TOP_PATH |
private static java.lang.String |
WINDOWS_FOLDER_SEPARATOR |
| Constructor and Description |
|---|
StringUtils() |
| Modifier and Type | Method and Description |
|---|---|
static java.lang.String[] |
addStringToArray(java.lang.String[] array,
java.lang.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 java.lang.String |
applyRelativePath(java.lang.String path,
java.lang.String relativePath)
Apply the given relative path to the given Java resource path,
assuming standard Java folder separation (i.e.
|
static java.lang.String |
arrayToCommaDelimitedString(java.lang.Object[] arr)
Convert a
String array into a comma delimited String
(i.e., CSV). |
static java.lang.String |
arrayToDelimitedString(java.lang.Object[] arr,
java.lang.String delim)
Convert a
String array into a delimited String (e.g. |
static java.lang.String |
capitalize(java.lang.String str)
Capitalize a
String, changing the first letter to
upper case as per Character.toUpperCase(char). |
private static java.lang.String |
changeFirstCharacterCase(java.lang.String str,
boolean capitalize) |
static java.lang.String |
cleanPath(java.lang.String path)
Normalize the path by suppressing sequences like "path/.." and
inner simple dots.
|
static java.lang.String |
collectionToCommaDelimitedString(java.util.Collection<?> coll)
Convert a
Collection into a delimited String (e.g., CSV). |
static java.lang.String |
collectionToDelimitedString(java.util.Collection<?> coll,
java.lang.String delim)
Convert a
Collection into a delimited String (e.g. |
static java.lang.String |
collectionToDelimitedString(java.util.Collection<?> coll,
java.lang.String delim,
java.lang.String prefix,
java.lang.String suffix)
Convert a
Collection to a delimited String (e.g. |
static java.util.Set<java.lang.String> |
commaDelimitedListToSet(java.lang.String str)
Convert a comma delimited list (e.g., a row from a CSV file) into a set.
|
static java.lang.String[] |
commaDelimitedListToStringArray(java.lang.String str)
Convert a comma delimited list (e.g., a row from a CSV file) into an
array of strings.
|
static java.lang.String[] |
concatenateStringArrays(java.lang.String[] array1,
java.lang.String[] array2)
Concatenate the given
String arrays into one,
with overlapping array elements included twice. |
private static boolean |
containsText(java.lang.CharSequence str) |
static boolean |
containsWhitespace(java.lang.CharSequence str)
Check whether the given
CharSequence contains any whitespace characters. |
static boolean |
containsWhitespace(java.lang.String str)
Check whether the given
String contains any whitespace characters. |
static int |
countOccurrencesOf(java.lang.String str,
java.lang.String sub)
Count the occurrences of the substring
sub in string str. |
static java.lang.String |
delete(java.lang.String inString,
java.lang.String pattern)
Delete all occurrences of the given substring.
|
static java.lang.String |
deleteAny(java.lang.String inString,
java.lang.String charsToDelete)
Delete any character in a given
String. |
static java.lang.String[] |
delimitedListToStringArray(java.lang.String str,
java.lang.String delimiter)
Take a
String that is a delimited list and convert it into a
String array. |
static java.lang.String[] |
delimitedListToStringArray(java.lang.String str,
java.lang.String delimiter,
java.lang.String charsToDelete)
Take a
String that is a delimited list and convert it into
a String array. |
static boolean |
endsWithIgnoreCase(java.lang.String str,
java.lang.String suffix)
Test if the given
String ends with the specified suffix,
ignoring upper/lower case. |
static java.lang.String |
getFilename(java.lang.String path)
Extract the filename from the given Java resource path,
e.g.
|
static java.lang.String |
getFilenameExtension(java.lang.String path)
Extract the filename extension from the given Java resource path,
e.g.
|
static boolean |
hasLength(java.lang.CharSequence str)
Check that the given
CharSequence is neither null nor
of length 0. |
static boolean |
hasLength(java.lang.String str)
Check that the given
String is neither null nor of length 0. |
static boolean |
hasText(java.lang.CharSequence str)
Check whether the given
CharSequence contains actual text. |
static boolean |
hasText(java.lang.String str)
Check whether the given
String contains actual text. |
static boolean |
isEmpty(java.lang.Object str)
Check whether the given
String is empty. |
static java.lang.String[] |
mergeStringArrays(java.lang.String[] array1,
java.lang.String[] array2)
Deprecated.
as of 4.3.15, in favor of manual merging via
LinkedHashSet
(with every entry included at most once, even entries within the first array) |
static java.util.Locale |
parseLocale(java.lang.String localeValue)
Parse the given
String value into a Locale, accepting
the Locale.toString() format as well as BCP 47 language tags. |
static java.util.Locale |
parseLocaleString(java.lang.String localeString)
Parse the given
String representation into a Locale. |
private static java.util.Locale |
parseLocaleTokens(java.lang.String localeString,
java.lang.String[] tokens) |
static java.util.TimeZone |
parseTimeZoneString(java.lang.String timeZoneString)
Parse the given
timeZoneString value into a TimeZone. |
static boolean |
pathEquals(java.lang.String path1,
java.lang.String path2)
Compare two paths after normalization of them.
|
static java.lang.String |
quote(java.lang.String str)
Quote the given
String with single quotes. |
static java.lang.Object |
quoteIfString(java.lang.Object obj)
Turn the given Object into a
String with single quotes
if it is a String; keeping the Object as-is else. |
static java.lang.String[] |
removeDuplicateStrings(java.lang.String[] array)
Remove duplicate strings from the given array.
|
static java.lang.String |
replace(java.lang.String inString,
java.lang.String oldPattern,
java.lang.String newPattern)
Replace all occurrences of a substring within a string with another string.
|
static java.lang.String[] |
sortStringArray(java.lang.String[] array)
Sort the given
String array if necessary. |
static java.lang.String[] |
split(java.lang.String toSplit,
java.lang.String delimiter)
Split a
String at the first occurrence of the delimiter. |
static java.util.Properties |
splitArrayElementsIntoProperties(java.lang.String[] array,
java.lang.String delimiter)
Take an array of strings and split each element based on the given delimiter.
|
static java.util.Properties |
splitArrayElementsIntoProperties(java.lang.String[] array,
java.lang.String delimiter,
java.lang.String charsToDelete)
Take an array of strings and split each element based on the given delimiter.
|
static boolean |
startsWithIgnoreCase(java.lang.String str,
java.lang.String prefix)
Test if the given
String starts with the specified prefix,
ignoring upper/lower case. |
static java.lang.String |
stripFilenameExtension(java.lang.String path)
Strip the filename extension from the given Java resource path,
e.g.
|
static boolean |
substringMatch(java.lang.CharSequence str,
int index,
java.lang.CharSequence substring)
Test whether the given string matches the given substring
at the given index.
|
private static java.lang.String[] |
tokenizeLocaleSource(java.lang.String localeSource) |
static java.lang.String[] |
tokenizeToStringArray(java.lang.String str,
java.lang.String delimiters)
Tokenize the given
String into a String array via a
StringTokenizer. |
static java.lang.String[] |
tokenizeToStringArray(java.lang.String str,
java.lang.String delimiters,
boolean trimTokens,
boolean ignoreEmptyTokens)
Tokenize the given
String into a String array via a
StringTokenizer. |
static java.lang.String |
toLanguageTag(java.util.Locale locale)
Deprecated.
as of 5.0.4, in favor of
Locale.toLanguageTag() |
static java.lang.String[] |
toStringArray(java.util.Collection<java.lang.String> collection)
Copy the given
Collection into a String array. |
static java.lang.String[] |
toStringArray(java.util.Enumeration<java.lang.String> enumeration)
Copy the given
Enumeration into a String array. |
static java.lang.String |
trimAllWhitespace(java.lang.String str)
Trim all whitespace from the given
String:
leading, trailing, and in between characters. |
static java.lang.String[] |
trimArrayElements(java.lang.String[] array)
Trim the elements of the given
String array,
calling String.trim() on each of them. |
static java.lang.String |
trimLeadingCharacter(java.lang.String str,
char leadingCharacter)
Trim all occurrences of the supplied leading character from the given
String. |
static java.lang.String |
trimLeadingWhitespace(java.lang.String str)
Trim leading whitespace from the given
String. |
static java.lang.String |
trimTrailingCharacter(java.lang.String str,
char trailingCharacter)
Trim all occurrences of the supplied trailing character from the given
String. |
static java.lang.String |
trimTrailingWhitespace(java.lang.String str)
Trim trailing whitespace from the given
String. |
static java.lang.String |
trimWhitespace(java.lang.String str)
Trim leading and trailing whitespace from the given
String. |
static java.lang.String |
uncapitalize(java.lang.String str)
Uncapitalize a
String, changing the first letter to
lower case as per Character.toLowerCase(char). |
static java.lang.String |
unqualify(java.lang.String qualifiedName)
Unqualify a string qualified by a '.' dot character.
|
static java.lang.String |
unqualify(java.lang.String qualifiedName,
char separator)
Unqualify a string qualified by a separator character.
|
static java.lang.String |
uriDecode(java.lang.String source,
java.nio.charset.Charset charset)
Decode the given encoded URI component value.
|
private static void |
validateLocalePart(java.lang.String localePart) |
private static final java.lang.String FOLDER_SEPARATOR
private static final java.lang.String WINDOWS_FOLDER_SEPARATOR
private static final java.lang.String TOP_PATH
private static final java.lang.String CURRENT_PATH
private static final char EXTENSION_SEPARATOR
public static boolean isEmpty(@Nullable java.lang.Object str)
String is empty.
This method accepts any Object as an argument, comparing it to
null and the empty String. As a consequence, this method
will never return true for 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.
str - the candidate Stringpublic static boolean hasLength(@Nullable java.lang.CharSequence str)
CharSequence is neither null nor
of length 0.
Note: this method returns 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(@Nullable java.lang.String str)
String is neither null nor of length 0.
Note: this method returns 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),
hasText(String)public static boolean hasText(@Nullable java.lang.CharSequence str)
CharSequence contains actual text.
More specifically, this method returns true if the
CharSequence is 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(@Nullable java.lang.String str)
String contains actual text.
More specifically, this method returns true if the
String is 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)private static boolean containsText(java.lang.CharSequence str)
public static boolean containsWhitespace(@Nullable java.lang.CharSequence str)
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 characterCharacter.isWhitespace(char)public static boolean containsWhitespace(@Nullable java.lang.String str)
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 charactercontainsWhitespace(CharSequence)public static java.lang.String trimWhitespace(java.lang.String str)
String.str - the String to checkStringCharacter.isWhitespace(char)public static java.lang.String trimAllWhitespace(java.lang.String str)
String:
leading, trailing, and in between characters.str - the String to checkStringCharacter.isWhitespace(char)public static java.lang.String trimLeadingWhitespace(java.lang.String str)
String.str - the String to checkStringCharacter.isWhitespace(char)public static java.lang.String trimTrailingWhitespace(java.lang.String str)
String.str - the String to checkStringCharacter.isWhitespace(char)public static java.lang.String trimLeadingCharacter(java.lang.String str,
char leadingCharacter)
String.str - the String to checkleadingCharacter - the leading character to be trimmedStringpublic static java.lang.String trimTrailingCharacter(java.lang.String str,
char trailingCharacter)
String.str - the String to checktrailingCharacter - the trailing character to be trimmedStringpublic static boolean startsWithIgnoreCase(@Nullable java.lang.String str, @Nullable java.lang.String prefix)
String starts with the specified prefix,
ignoring upper/lower case.str - the String to checkprefix - the prefix to look forString.startsWith(java.lang.String, int)public static boolean endsWithIgnoreCase(@Nullable java.lang.String str, @Nullable java.lang.String suffix)
String ends with the specified suffix,
ignoring upper/lower case.str - the String to checksuffix - the suffix to look forString.endsWith(java.lang.String)public static boolean substringMatch(java.lang.CharSequence str,
int index,
java.lang.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(java.lang.String str,
java.lang.String sub)
sub in string str.str - string to search insub - string to search forpublic static java.lang.String replace(java.lang.String inString,
java.lang.String oldPattern,
@Nullable
java.lang.String newPattern)
inString - String to examineoldPattern - String to replacenewPattern - String to insertString with the replacementspublic static java.lang.String delete(java.lang.String inString,
java.lang.String pattern)
inString - the original Stringpattern - the pattern to delete all occurrences ofStringpublic static java.lang.String deleteAny(java.lang.String inString,
@Nullable
java.lang.String charsToDelete)
String.inString - the original StringcharsToDelete - a set of characters to delete.
E.g. "az\n" will delete 'a's, 'z's and new lines.String@Nullable public static java.lang.String quote(@Nullable java.lang.String str)
String with single quotes.str - the input String (e.g. "myString")String (e.g. "'myString'"),
or null if the input was null@Nullable public static java.lang.Object quoteIfString(@Nullable java.lang.Object obj)
String with single quotes
if it is a String; keeping the Object as-is else.obj - the input Object (e.g. "myString")String (e.g. "'myString'"),
or the input object as-is if not a Stringpublic static java.lang.String unqualify(java.lang.String qualifiedName)
qualifiedName - the qualified namepublic static java.lang.String unqualify(java.lang.String qualifiedName,
char separator)
qualifiedName - the qualified nameseparator - the separatorpublic static java.lang.String capitalize(java.lang.String str)
String, changing the first letter to
upper case as per Character.toUpperCase(char).
No other letters are changed.str - the String to capitalizeStringpublic static java.lang.String uncapitalize(java.lang.String str)
String, changing the first letter to
lower case as per Character.toLowerCase(char).
No other letters are changed.str - the String to uncapitalizeStringprivate static java.lang.String changeFirstCharacterCase(java.lang.String str,
boolean capitalize)
@Nullable public static java.lang.String getFilename(@Nullable java.lang.String path)
"mypath/myfile.txt" -> "myfile.txt".path - the file path (may be null)null if none@Nullable public static java.lang.String getFilenameExtension(@Nullable java.lang.String path)
path - the file path (may be null)null if nonepublic static java.lang.String stripFilenameExtension(java.lang.String path)
path - the file pathpublic static java.lang.String applyRelativePath(java.lang.String path,
java.lang.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 java.lang.String cleanPath(java.lang.String path)
The result is convenient for path comparison. For other uses, notice that Windows separators ("\") are replaced by simple slashes.
path - the original pathpublic static boolean pathEquals(java.lang.String path1,
java.lang.String path2)
path1 - first path for comparisonpath2 - second path for comparisonpublic static java.lang.String uriDecode(java.lang.String source,
java.nio.charset.Charset charset)
"a" through "z", "A" through "Z",
and "0" through "9" stay the same."-", "_", ".", and "*" stay the same.%<i>xy</i>" is interpreted as a hexadecimal representation of the character.source - the encoded Stringcharset - the character setjava.lang.IllegalArgumentException - when the given source contains invalid encoded sequencesURLDecoder.decode(String, String)@Nullable public static java.util.Locale parseLocale(java.lang.String localeValue)
String value into a Locale, accepting
the Locale.toString() format as well as BCP 47 language tags.localeValue - the locale value: following either Locale's
toString() format ("en", "en_UK", etc), also accepting spaces as
separators (as an alternative to underscores), or BCP 47 (e.g. "en-UK")
as specified by Locale.forLanguageTag(java.lang.String) on Java 7+Locale instance, or null if nonejava.lang.IllegalArgumentException - in case of an invalid locale specificationparseLocaleString(java.lang.String),
Locale.forLanguageTag(java.lang.String)@Nullable public static java.util.Locale parseLocaleString(java.lang.String localeString)
String representation into a Locale.
For many parsing scenarios, this is an inverse operation of
Locale's toString, in a lenient sense.
This method does not aim for strict Locale design compliance;
it is rather specifically tailored for typical Spring parsing needs.
Note: This delegate does not accept the BCP 47 language tag format.
Please use parseLocale(java.lang.String) for lenient parsing of both formats.
localeString - the locale String: following Locale's
toString() format ("en", "en_UK", etc), also accepting spaces as
separators (as an alternative to underscores)Locale instance, or null if nonejava.lang.IllegalArgumentException - in case of an invalid locale specificationprivate static java.lang.String[] tokenizeLocaleSource(java.lang.String localeSource)
@Nullable private static java.util.Locale parseLocaleTokens(java.lang.String localeString, java.lang.String[] tokens)
private static void validateLocalePart(java.lang.String localePart)
@Deprecated public static java.lang.String toLanguageTag(java.util.Locale locale)
Locale.toLanguageTag()locale - the Locale to transform to a language tagStringpublic static java.util.TimeZone parseTimeZoneString(java.lang.String timeZoneString)
timeZoneString value into a TimeZone.timeZoneString - the time zone String, following TimeZone.getTimeZone(String)
but throwing IllegalArgumentException in case of an invalid time zone specificationTimeZone instancejava.lang.IllegalArgumentException - in case of an invalid time zone specificationpublic static java.lang.String[] toStringArray(@Nullable java.util.Collection<java.lang.String> collection)
Collection into a String array.
The Collection must contain String elements only.
collection - the Collection to copy
(potentially null or empty)String arraypublic static java.lang.String[] toStringArray(@Nullable java.util.Enumeration<java.lang.String> enumeration)
Enumeration into a String array.
The Enumeration must contain String elements only.
enumeration - the Enumeration to copy
(potentially null or empty)String arraypublic static java.lang.String[] addStringToArray(@Nullable java.lang.String[] array, java.lang.String str)
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 appendnull)@Nullable public static java.lang.String[] concatenateStringArrays(@Nullable java.lang.String[] array1, @Nullable java.lang.String[] array2)
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)@Deprecated @Nullable public static java.lang.String[] mergeStringArrays(@Nullable java.lang.String[] array1, @Nullable java.lang.String[] array2)
LinkedHashSet
(with every entry included at most once, even entries within the first array)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 occurrence).
array1 - the first array (can be null)array2 - the second array (can be null)null if both given arrays were null)public static java.lang.String[] sortStringArray(java.lang.String[] array)
String array if necessary.array - the original array (potentially empty)null)public static java.lang.String[] trimArrayElements(java.lang.String[] array)
String array,
calling String.trim() on each of them.array - the original String array (potentially empty)public static java.lang.String[] removeDuplicateStrings(java.lang.String[] array)
As of 4.2, it preserves the original order, as it uses a LinkedHashSet.
array - the String array (potentially empty)@Nullable public static java.lang.String[] split(@Nullable java.lang.String toSplit, @Nullable java.lang.String delimiter)
String at the first occurrence of the delimiter.
Does not include the delimiter in the result.toSplit - the string to split (potentially null or empty)delimiter - to split the string up with (potentially null or empty)null if the delimiter wasn't found in the given input String@Nullable public static java.util.Properties splitArrayElementsIntoProperties(java.lang.String[] array, java.lang.String delimiter)
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.
array - the array to processdelimiter - 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@Nullable public static java.util.Properties splitArrayElementsIntoProperties(java.lang.String[] array, java.lang.String delimiter, @Nullable java.lang.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.
array - the array to processdelimiter - 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 occurProperties instance representing the array contents,
or null if the array to process was null or emptypublic static java.lang.String[] tokenizeToStringArray(@Nullable java.lang.String str, java.lang.String delimiters)
String into a String array via a
StringTokenizer.
Trims tokens and omits empty tokens.
The given delimiters string can 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(java.lang.String, java.lang.String).
str - the String to tokenize (potentially null or empty)delimiters - the delimiter characters, assembled as a String
(each of the characters is individually considered as a delimiter)StringTokenizer,
String.trim(),
delimitedListToStringArray(java.lang.String, java.lang.String)public static java.lang.String[] tokenizeToStringArray(@Nullable java.lang.String str, java.lang.String delimiters, boolean trimTokens, boolean ignoreEmptyTokens)
String into a String array via a
StringTokenizer.
The given delimiters string can 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(java.lang.String, java.lang.String).
str - the String to tokenize (potentially null or empty)delimiters - the delimiter characters, assembled as a String
(each of the characters is individually considered as a delimiter)trimTokens - trim the tokens via String.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).StringTokenizer,
String.trim(),
delimitedListToStringArray(java.lang.String, java.lang.String)public static java.lang.String[] delimitedListToStringArray(@Nullable java.lang.String str, @Nullable java.lang.String delimiter)
String that is a delimited list and convert it into a
String array.
A single delimiter may consist of more than one character,
but it will still be considered as a single delimiter string, rather
than as bunch of potential delimiter characters, in contrast to
tokenizeToStringArray(java.lang.String, java.lang.String).
str - the input String (potentially null or empty)delimiter - 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 java.lang.String[] delimitedListToStringArray(@Nullable java.lang.String str, @Nullable java.lang.String delimiter, @Nullable java.lang.String charsToDelete)
String that is a delimited list and convert it into
a String array.
A single delimiter may consist of more than one character,
but it will still be considered as a single delimiter string, rather
than as bunch of potential delimiter characters, in contrast to
tokenizeToStringArray(java.lang.String, java.lang.String).
str - the input String (potentially null or empty)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 StringtokenizeToStringArray(java.lang.String, java.lang.String)public static java.lang.String[] commaDelimitedListToStringArray(@Nullable java.lang.String str)
str - the input String (potentially null or empty)public static java.util.Set<java.lang.String> commaDelimitedListToSet(@Nullable java.lang.String str)
Note that this will suppress duplicates, and as of 4.2, the elements in
the returned set will preserve the original order in a LinkedHashSet.
str - the input String (potentially null or empty)String entries in the listremoveDuplicateStrings(String[])public static java.lang.String collectionToDelimitedString(@Nullable java.util.Collection<?> coll, java.lang.String delim, java.lang.String prefix, java.lang.String suffix)
Collection to a delimited String (e.g. CSV).
Useful for toString() implementations.
coll - the Collection to convert (potentially null or empty)delim - the delimiter to use (typically a ",")prefix - the String to start each element withsuffix - the String to end each element withStringpublic static java.lang.String collectionToDelimitedString(@Nullable java.util.Collection<?> coll, java.lang.String delim)
Collection into a delimited String (e.g. CSV).
Useful for toString() implementations.
coll - the Collection to convert (potentially null or empty)delim - the delimiter to use (typically a ",")Stringpublic static java.lang.String collectionToCommaDelimitedString(@Nullable java.util.Collection<?> coll)
Collection into a delimited String (e.g., CSV).
Useful for toString() implementations.
coll - the Collection to convert (potentially null or empty)Stringpublic static java.lang.String arrayToDelimitedString(@Nullable java.lang.Object[] arr, java.lang.String delim)
String array into a delimited String (e.g. CSV).
Useful for toString() implementations.
arr - the array to display (potentially null or empty)delim - the delimiter to use (typically a ",")Stringpublic static java.lang.String arrayToCommaDelimitedString(@Nullable java.lang.Object[] arr)
String array into a comma delimited String
(i.e., CSV).
Useful for toString() implementations.
arr - the array to display (potentially null or empty)String