Class StringUtils
- java.lang.Object
-
- com.igormaznitsa.jcp.utils.antpathmatcher.StringUtils
-
abstract class StringUtils extends java.lang.Object
MiscellaneousString
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
andStringBuilder
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
-
-
Field Summary
Fields Modifier and Type Field 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 Summary
Constructors Constructor Description StringUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static java.lang.String[]
addStringToArray(java.lang.String[] array, java.lang.String str)
Append the givenString
to the givenString
array, returning a new array consisting of the input array contents plus the givenString
.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 aString
array into a comma delimitedString
(i.e., CSV).static java.lang.String
arrayToDelimitedString(java.lang.Object[] arr, java.lang.String delim)
Convert aString
array into a delimitedString
(e.g.static java.lang.String
capitalize(java.lang.String str)
Capitalize aString
, changing the first letter to upper case as perCharacter.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 aCollection
into a delimitedString
(e.g., CSV).static java.lang.String
collectionToDelimitedString(java.util.Collection<?> coll, java.lang.String delim)
Convert aCollection
into a delimitedString
(e.g.static java.lang.String
collectionToDelimitedString(java.util.Collection<?> coll, java.lang.String delim, java.lang.String prefix, java.lang.String suffix)
Convert aCollection
to a delimitedString
(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 givenString
arrays into one, with overlapping array elements included twice.static boolean
containsWhitespace(java.lang.CharSequence str)
Check whether the givenCharSequence
contains any whitespace characters.static boolean
containsWhitespace(java.lang.String str)
Check whether the givenString
contains any whitespace characters.static int
countOccurrencesOf(java.lang.String str, java.lang.String sub)
Count the occurrences of the substringsub
in stringstr
.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 givenString
.static java.lang.String[]
delimitedListToStringArray(java.lang.String str, java.lang.String delimiter)
Take aString
that is a delimited list and convert it into aString
array.static java.lang.String[]
delimitedListToStringArray(java.lang.String str, java.lang.String delimiter, java.lang.String charsToDelete)
Take aString
that is a delimited list and convert it into aString
array.static boolean
endsWithIgnoreCase(java.lang.String str, java.lang.String suffix)
Test if the givenString
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 givenCharSequence
is neithernull
nor of length 0.static boolean
hasLength(java.lang.String str)
Check that the givenString
is neithernull
nor of length 0.static boolean
hasText(java.lang.CharSequence str)
Check whether the givenCharSequence
contains actual text.static boolean
hasText(java.lang.String str)
Check whether the givenString
contains actual text.static boolean
isEmpty(java.lang.Object str)
Check whether the givenString
is empty.static boolean
isEmpty(java.lang.Object[] array)
static java.lang.String[]
mergeStringArrays(java.lang.String[] array1, java.lang.String[] array2)
Merge the givenString
arrays into one, with overlapping array elements only included once.static java.util.Locale
parseLocaleString(java.lang.String localeString)
Parse the givenlocaleString
value into aLocale
.static java.util.TimeZone
parseTimeZoneString(java.lang.String timeZoneString)
Parse the giventimeZoneString
value into aTimeZone
.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 givenString
with single quotes.static java.lang.Object
quoteIfString(java.lang.Object obj)
Turn the given Object into aString
with single quotes if it is aString
; 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)
Turn given sourceString
array into sorted array.static java.lang.String[]
split(java.lang.String toSplit, java.lang.String delimiter)
Split aString
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 givenString
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.static java.lang.String[]
tokenizeToStringArray(java.lang.String str, java.lang.String delimiters)
Tokenize the givenString
into aString
array via aStringTokenizer
.static java.lang.String[]
tokenizeToStringArray(java.lang.String str, java.lang.String delimiters, boolean trimTokens, boolean ignoreEmptyTokens)
Tokenize the givenString
into aString
array via aStringTokenizer
.static java.lang.String
toLanguageTag(java.util.Locale locale)
Determine the RFC 3066 compliant language tag, as used for the HTTP "Accept-Language" header.static java.lang.String[]
toStringArray(java.util.Collection<java.lang.String> collection)
Copy the givenCollection
into aString
array.static java.lang.String[]
toStringArray(java.util.Enumeration<java.lang.String> enumeration)
Copy the given Enumeration into aString
array.static java.lang.String
trimAllWhitespace(java.lang.String str)
Trim all whitespace from the givenString
: leading, trailing, and in between characters.static java.lang.String[]
trimArrayElements(java.lang.String[] array)
Trim the elements of the givenString
array, callingString.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 givenString
.static java.lang.String
trimLeadingWhitespace(java.lang.String str)
Trim leading whitespace from the givenString
.static java.lang.String
trimTrailingCharacter(java.lang.String str, char trailingCharacter)
Trim all occurrences of the supplied trailing character from the givenString
.static java.lang.String
trimTrailingWhitespace(java.lang.String str)
Trim trailing whitespace from the givenString
.static java.lang.String
trimWhitespace(java.lang.String str)
Trim leading and trailing whitespace from the givenString
.static java.lang.String
uncapitalize(java.lang.String str)
Uncapitalize aString
, changing the first letter to lower case as perCharacter.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)
-
-
-
Field Detail
-
FOLDER_SEPARATOR
private static final java.lang.String FOLDER_SEPARATOR
- See Also:
- Constant Field Values
-
WINDOWS_FOLDER_SEPARATOR
private static final java.lang.String WINDOWS_FOLDER_SEPARATOR
- See Also:
- Constant Field Values
-
TOP_PATH
private static final java.lang.String TOP_PATH
- See Also:
- Constant Field Values
-
CURRENT_PATH
private static final java.lang.String CURRENT_PATH
- See Also:
- Constant Field Values
-
EXTENSION_SEPARATOR
private static final char EXTENSION_SEPARATOR
- See Also:
- Constant Field Values
-
-
Method Detail
-
isEmpty
public static boolean isEmpty(java.lang.Object str)
Check whether the givenString
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 returntrue
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.
- Parameters:
str
- the candidate String- Since:
- 3.2.1
-
hasLength
public static boolean hasLength(java.lang.CharSequence str)
Check that the givenCharSequence
is neithernull
nor of length 0.Note: this method returns
true
for aCharSequence
that purely consists of whitespace.StringUtils.hasLength(null) = false StringUtils.hasLength("") = false StringUtils.hasLength(" ") = true StringUtils.hasLength("Hello") = true
- Parameters:
str
- theCharSequence
to check (may benull
)- Returns:
true
if theCharSequence
is notnull
and has length- See Also:
hasText(String)
-
hasLength
public static boolean hasLength(java.lang.String str)
Check that the givenString
is neithernull
nor of length 0.Note: this method returns
true
for aString
that purely consists of whitespace.- Parameters:
str
- theString
to check (may benull
)- Returns:
true
if theString
is notnull
and has length- See Also:
hasLength(CharSequence)
,hasText(String)
-
hasText
public static boolean hasText(java.lang.CharSequence str)
Check whether the givenCharSequence
contains actual text.More specifically, this method returns
true
if theCharSequence
is 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
- theCharSequence
to check (may benull
)- Returns:
true
if theCharSequence
is notnull
, its length is greater than 0, and it does not contain whitespace only- See Also:
Character.isWhitespace(char)
-
hasText
public static boolean hasText(java.lang.String str)
Check whether the givenString
contains actual text.More specifically, this method returns
true
if theString
is notnull
, its length is greater than 0, and it contains at least one non-whitespace character.- Parameters:
str
- theString
to check (may benull
)- Returns:
true
if theString
is notnull
, its length is greater than 0, and it does not contain whitespace only- See Also:
hasText(CharSequence)
-
containsWhitespace
public static boolean containsWhitespace(java.lang.CharSequence str)
Check whether the givenCharSequence
contains any whitespace characters.- Parameters:
str
- theCharSequence
to check (may benull
)- Returns:
true
if theCharSequence
is not empty and contains at least 1 whitespace character- See Also:
Character.isWhitespace(char)
-
containsWhitespace
public static boolean containsWhitespace(java.lang.String str)
Check whether the givenString
contains any whitespace characters.- Parameters:
str
- theString
to check (may benull
)- Returns:
true
if theString
is not empty and contains at least 1 whitespace character- See Also:
containsWhitespace(CharSequence)
-
trimWhitespace
public static java.lang.String trimWhitespace(java.lang.String str)
Trim leading and trailing whitespace from the givenString
.- Parameters:
str
- theString
to check- Returns:
- the trimmed
String
- See Also:
Character.isWhitespace(char)
-
trimAllWhitespace
public static java.lang.String trimAllWhitespace(java.lang.String str)
Trim all whitespace from the givenString
: leading, trailing, and in between characters.- Parameters:
str
- theString
to check- Returns:
- the trimmed
String
- See Also:
Character.isWhitespace(char)
-
trimLeadingWhitespace
public static java.lang.String trimLeadingWhitespace(java.lang.String str)
Trim leading whitespace from the givenString
.- Parameters:
str
- theString
to check- Returns:
- the trimmed
String
- See Also:
Character.isWhitespace(char)
-
trimTrailingWhitespace
public static java.lang.String trimTrailingWhitespace(java.lang.String str)
Trim trailing whitespace from the givenString
.- Parameters:
str
- theString
to check- Returns:
- the trimmed
String
- See Also:
Character.isWhitespace(char)
-
trimLeadingCharacter
public static java.lang.String trimLeadingCharacter(java.lang.String str, char leadingCharacter)
Trim all occurrences of the supplied leading character from the givenString
.- Parameters:
str
- theString
to checkleadingCharacter
- the leading character to be trimmed- Returns:
- the trimmed
String
-
trimTrailingCharacter
public static java.lang.String trimTrailingCharacter(java.lang.String str, char trailingCharacter)
Trim all occurrences of the supplied trailing character from the givenString
.- Parameters:
str
- theString
to checktrailingCharacter
- the trailing character to be trimmed- Returns:
- the trimmed
String
-
startsWithIgnoreCase
public static boolean startsWithIgnoreCase(java.lang.String str, java.lang.String prefix)
Test if the givenString
starts with the specified prefix, ignoring upper/lower case.- Parameters:
str
- theString
to checkprefix
- the prefix to look for- See Also:
String.startsWith(java.lang.String, int)
-
endsWithIgnoreCase
public static boolean endsWithIgnoreCase(java.lang.String str, java.lang.String suffix)
Test if the givenString
ends with the specified suffix, ignoring upper/lower case.- Parameters:
str
- theString
to checksuffix
- the suffix to look for- See Also:
String.endsWith(java.lang.String)
-
substringMatch
public 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.- 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
public static int countOccurrencesOf(java.lang.String str, java.lang.String sub)
Count the occurrences of the substringsub
in stringstr
.- Parameters:
str
- string to search in. Return 0 if this isnull
.sub
- string to search for. Return 0 if this isnull
.
-
replace
public 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.- Parameters:
inString
-String
to examineoldPattern
-String
to replacenewPattern
-String
to insert- Returns:
- a
String
with the replacements
-
delete
public static java.lang.String delete(java.lang.String inString, java.lang.String pattern)
Delete all occurrences of the given substring.- Parameters:
inString
- the originalString
pattern
- the pattern to delete all occurrences of- Returns:
- the resulting
String
-
deleteAny
public static java.lang.String deleteAny(java.lang.String inString, java.lang.String charsToDelete)
Delete any character in a givenString
.- Parameters:
inString
- the originalString
charsToDelete
- a set of characters to delete. E.g. "az\n" will delete 'a's, 'z's and new lines.- Returns:
- the resulting
String
-
quote
public static java.lang.String quote(java.lang.String str)
Quote the givenString
with single quotes.- Parameters:
str
- the inputString
(e.g. "myString")- Returns:
- the quoted
String
(e.g. "'myString'"), ornull
if the input wasnull
-
quoteIfString
public static java.lang.Object quoteIfString(java.lang.Object obj)
Turn the given Object into aString
with 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
public static java.lang.String unqualify(java.lang.String qualifiedName)
Unqualify a string qualified by a '.' dot character. For example, "this.name.is.qualified", returns "qualified".- Parameters:
qualifiedName
- the qualified name
-
unqualify
public static java.lang.String unqualify(java.lang.String qualifiedName, char separator)
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
public static java.lang.String capitalize(java.lang.String str)
Capitalize aString
, changing the first letter to upper case as perCharacter.toUpperCase(char)
. No other letters are changed.- Parameters:
str
- theString
to capitalize, may benull
- Returns:
- the capitalized
String
, ornull
if the supplied string isnull
-
uncapitalize
public static java.lang.String uncapitalize(java.lang.String str)
Uncapitalize aString
, changing the first letter to lower case as perCharacter.toLowerCase(char)
. No other letters are changed.- Parameters:
str
- theString
to uncapitalize, may benull
- Returns:
- the uncapitalized
String
, ornull
if the supplied string isnull
-
changeFirstCharacterCase
private static java.lang.String changeFirstCharacterCase(java.lang.String str, boolean capitalize)
-
getFilename
public static java.lang.String getFilename(java.lang.String path)
Extract the filename from the given Java resource path, e.g."mypath/myfile.txt" -> "myfile.txt"
.- Parameters:
path
- the file path (may benull
)- Returns:
- the extracted filename, or
null
if none
-
getFilenameExtension
public static java.lang.String getFilenameExtension(java.lang.String path)
Extract the filename extension from the given Java resource path, e.g. "mypath/myfile.txt" -> "txt".- Parameters:
path
- the file path (may benull
)- Returns:
- the extracted filename extension, or
null
if none
-
stripFilenameExtension
public static java.lang.String stripFilenameExtension(java.lang.String path)
Strip the filename extension from the given Java resource path, e.g. "mypath/myfile.txt" -> "mypath/myfile".- Parameters:
path
- the file path (may benull
)- Returns:
- the path with stripped filename extension, or
null
if none
-
applyRelativePath
public 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. "/" separators).- Parameters:
path
- the path to start from (usually a full file path)relativePath
- the relative path to apply (relative to the full file path above)- Returns:
- the full file path that results from applying the relative path
-
cleanPath
public static java.lang.String cleanPath(java.lang.String path)
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.
- Parameters:
path
- the original path- Returns:
- the normalized path
-
pathEquals
public static boolean pathEquals(java.lang.String path1, java.lang.String path2)
Compare two paths after normalization of them.- Parameters:
path1
- first path for comparisonpath2
- second path for comparison- Returns:
- whether the two paths are equivalent after normalization
-
uriDecode
public static java.lang.String uriDecode(java.lang.String source, java.nio.charset.Charset charset)
Decode the given encoded URI component value. Based on the following rules:- Alphanumeric characters
"a"
through"z"
,"A"
through"Z"
, and"0"
through"9"
stay the same. - Special characters
"-"
,"_"
,"."
, and"*"
stay the same. - A sequence "
%<i>xy</i>
" is interpreted as a hexadecimal representation of the character.
- Parameters:
source
- the encoded String (may benull
)charset
- the character set- Returns:
- the decoded value
- Throws:
java.lang.IllegalArgumentException
- when the given source contains invalid encoded sequences- Since:
- 5.0
- See Also:
URLDecoder.decode(String, String)
- Alphanumeric characters
-
parseLocaleString
public static java.util.Locale parseLocaleString(java.lang.String localeString)
Parse the givenlocaleString
value into aLocale
.This is the inverse operation of
Locale's toString
.- Parameters:
localeString
- the localeString
, followingLocale's
toString()
format ("en", "en_UK", etc); also accepts spaces as separators, as an alternative to underscores- Returns:
- a corresponding
Locale
instance - Throws:
java.lang.IllegalArgumentException
- in case of an invalid locale specification
-
validateLocalePart
private static void validateLocalePart(java.lang.String localePart)
-
toLanguageTag
public static java.lang.String toLanguageTag(java.util.Locale locale)
Determine the RFC 3066 compliant language tag, as used for the HTTP "Accept-Language" header.- Parameters:
locale
- the Locale to transform to a language tag- Returns:
- the RFC 3066 compliant language tag as
String
-
parseTimeZoneString
public static java.util.TimeZone parseTimeZoneString(java.lang.String timeZoneString)
Parse the giventimeZoneString
value into aTimeZone
.- Parameters:
timeZoneString
- the time zoneString
, followingTimeZone.getTimeZone(String)
but throwingIllegalArgumentException
in case of an invalid time zone specification- Returns:
- a corresponding
TimeZone
instance - Throws:
java.lang.IllegalArgumentException
- in case of an invalid time zone specification
-
addStringToArray
public static java.lang.String[] addStringToArray(java.lang.String[] array, java.lang.String str)
Append the givenString
to the givenString
array, returning a new array consisting of the input array contents plus the givenString
.- Parameters:
array
- the array to append to (can benull
)str
- theString
to append- Returns:
- the new array (never
null
)
-
isEmpty
public static boolean isEmpty(java.lang.Object[] array)
-
concatenateStringArrays
public static java.lang.String[] concatenateStringArrays(java.lang.String[] array1, java.lang.String[] array2)
Concatenate the givenString
arrays into one, with overlapping array elements included twice.The order of elements in the original arrays is preserved.
- Parameters:
array1
- the first array (can benull
)array2
- the second array (can benull
)- Returns:
- the new array (
null
if both given arrays werenull
)
-
mergeStringArrays
public static java.lang.String[] mergeStringArrays(java.lang.String[] array1, java.lang.String[] array2)
Merge the givenString
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).
- Parameters:
array1
- the first array (can benull
)array2
- the second array (can benull
)- Returns:
- the new array (
null
if both given arrays werenull
)
-
sortStringArray
public static java.lang.String[] sortStringArray(java.lang.String[] array)
Turn given sourceString
array into sorted array.- Parameters:
array
- the source array- Returns:
- the sorted array (never
null
)
-
toStringArray
public static java.lang.String[] toStringArray(java.util.Collection<java.lang.String> collection)
Copy the givenCollection
into aString
array.The
Collection
must containString
elements only.- Parameters:
collection
- theCollection
to copy- Returns:
- the
String
array (null
if the suppliedCollection
wasnull
)
-
toStringArray
public static java.lang.String[] toStringArray(java.util.Enumeration<java.lang.String> enumeration)
Copy the given Enumeration into aString
array. The Enumeration must containString
elements only.- Parameters:
enumeration
- the Enumeration to copy- Returns:
- the
String
array (null
if the passed-in Enumeration wasnull
)
-
trimArrayElements
public static java.lang.String[] trimArrayElements(java.lang.String[] array)
Trim the elements of the givenString
array, callingString.trim()
on each of them.- Parameters:
array
- the originalString
array- Returns:
- the resulting array (of the same size) with trimmed elements
-
removeDuplicateStrings
public static java.lang.String[] removeDuplicateStrings(java.lang.String[] array)
Remove duplicate strings from the given array.As of 4.2, it preserves the original order, as it uses a
LinkedHashSet
.- Parameters:
array
- theString
array- Returns:
- an array without duplicates, in natural sort order
-
split
public static java.lang.String[] split(java.lang.String toSplit, java.lang.String delimiter)
Split aString
at the first occurrence of the delimiter. Does not include the delimiter in the result.- Parameters:
toSplit
- the string to splitdelimiter
- to split the string up with- Returns:
- a two element array with index 0 being before the delimiter, and
index 1 being after the delimiter (neither element includes the delimiter);
or
null
if the delimiter wasn't found in the given inputString
-
splitArrayElementsIntoProperties
public 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. AProperties
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.- Parameters:
array
- the array to processdelimiter
- to split each element using (typically the equals symbol)- Returns:
- a
Properties
instance representing the array contents, ornull
if the array to process wasnull
or empty
-
splitArrayElementsIntoProperties
public 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. AProperties
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.- Parameters:
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), ornull
if no removal should occur- Returns:
- a
Properties
instance representing the array contents, ornull
if the array to process wasnull
or empty
-
tokenizeToStringArray
public static java.lang.String[] tokenizeToStringArray(java.lang.String str, java.lang.String delimiters)
Tokenize the givenString
into aString
array via aStringTokenizer
.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 usingdelimitedListToStringArray(java.lang.String, java.lang.String)
.- Parameters:
str
- theString
to tokenizedelimiters
- the delimiter characters, assembled as aString
(each of the characters is individually considered as a delimiter)- Returns:
- an array of the tokens
- See Also:
StringTokenizer
,String.trim()
,delimitedListToStringArray(java.lang.String, java.lang.String)
-
tokenizeToStringArray
public static java.lang.String[] tokenizeToStringArray(java.lang.String str, java.lang.String delimiters, boolean trimTokens, boolean ignoreEmptyTokens)
Tokenize the givenString
into aString
array via aStringTokenizer
.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 usingdelimitedListToStringArray(java.lang.String, java.lang.String)
.- Parameters:
str
- theString
to tokenizedelimiters
- the delimiter characters, assembled as aString
(each of the characters is individually considered as a delimiter)trimTokens
- trim the tokens viaString.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).- Returns:
- an array of the tokens (
null
if the inputString
wasnull
) - See Also:
StringTokenizer
,String.trim()
,delimitedListToStringArray(java.lang.String, java.lang.String)
-
delimitedListToStringArray
public static java.lang.String[] delimitedListToStringArray(java.lang.String str, java.lang.String delimiter)
Take aString
that is a delimited list and convert it into aString
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 totokenizeToStringArray(java.lang.String, java.lang.String)
.- Parameters:
str
- the inputString
delimiter
- the delimiter between elements (this is a single delimiter, rather than a bunch individual delimiter characters)- Returns:
- an array of the tokens in the list
- See Also:
tokenizeToStringArray(java.lang.String, java.lang.String)
-
delimitedListToStringArray
public static java.lang.String[] delimitedListToStringArray(java.lang.String str, java.lang.String delimiter, java.lang.String charsToDelete)
Take aString
that is a delimited list and convert it into aString
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 totokenizeToStringArray(java.lang.String, java.lang.String)
.- Parameters:
str
- the inputString
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 aString
- Returns:
- an array of the tokens in the list
- See Also:
tokenizeToStringArray(java.lang.String, java.lang.String)
-
commaDelimitedListToStringArray
public 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.- Parameters:
str
- the inputString
- Returns:
- an array of strings, or the empty array in case of empty input
-
commaDelimitedListToSet
public 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.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
.- Parameters:
str
- the inputString
- Returns:
- a set of
String
entries in the list - See Also:
removeDuplicateStrings(String[])
-
collectionToDelimitedString
public static java.lang.String collectionToDelimitedString(java.util.Collection<?> coll, java.lang.String delim, java.lang.String prefix, java.lang.String suffix)
Convert aCollection
to a delimitedString
(e.g. CSV).Useful for
toString()
implementations.- Parameters:
coll
- theCollection
to convertdelim
- the delimiter to use (typically a ",")prefix
- theString
to start each element withsuffix
- theString
to end each element with- Returns:
- the delimited
String
-
collectionToDelimitedString
public static java.lang.String collectionToDelimitedString(java.util.Collection<?> coll, java.lang.String delim)
Convert aCollection
into a delimitedString
(e.g. CSV).Useful for
toString()
implementations.- Parameters:
coll
- theCollection
to convertdelim
- the delimiter to use (typically a ",")- Returns:
- the delimited
String
-
collectionToCommaDelimitedString
public static java.lang.String collectionToCommaDelimitedString(java.util.Collection<?> coll)
Convert aCollection
into a delimitedString
(e.g., CSV).Useful for
toString()
implementations.- Parameters:
coll
- theCollection
to convert- Returns:
- the delimited
String
-
arrayToDelimitedString
public static java.lang.String arrayToDelimitedString(java.lang.Object[] arr, java.lang.String delim)
Convert aString
array into a delimitedString
(e.g. CSV).Useful for
toString()
implementations.- Parameters:
arr
- the array to displaydelim
- the delimiter to use (typically a ",")- Returns:
- the delimited
String
-
arrayToCommaDelimitedString
public static java.lang.String arrayToCommaDelimitedString(java.lang.Object[] arr)
Convert aString
array into a comma delimitedString
(i.e., CSV).Useful for
toString()
implementations.- Parameters:
arr
- the array to display- Returns:
- the delimited
String
-
-