Class StringUtils
Simple utility class for String operations useful across the framework.
Some methods in this class were copied from the Spring Framework so we didn't have to re-invent the wheel, and in these cases, we have retained all license, copyright and author information.
- Since:
- 0.9
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final charConstant representing the default delimiter character (comma), equal to','static final charConstant representing the default quote character (double quote), equal to '"'static final StringConstant representing the empty string, equal to "" -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic StringReturns a 'cleaned' representation of the specified argument.static booleanCheck that the given String is neithernullnor of length 0.static booleanCheck whether the given String has actual text.static StringJoins the elements of the providedIteratorinto a single String containing the provided elements.static String[]Splits a string using theDEFAULT_DELIMITER_CHAR(which is ',').static String[]static String[]static String[]static String[]split(String aLine, char delimiter, char beginQuoteChar, char endQuoteChar, boolean retainQuotes, boolean trimTokens) Splits the specified delimited String into tokens, supporting quoted tokens so that quoted strings themselves won't be tokenized.static String[]splitKeyValue(String aLine) splitToSet(String delimited, String separator) Splits thedelimitedstring (delimited by the specifiedseparatorcharacter) and returns the delimited values as aSet.static booleanstartsWithIgnoreCase(String str, String prefix) Test if the given String starts with the specified prefix, ignoring upper/lower case.static StringtoDelimitedString(Object[] array, String delimiter) Returns the array's contents as a string, with each element delimited by the specifieddelimiterargument.static StringtoDelimitedString(Collection c, String delimiter) Returns the collection's contents as a string, with each element delimited by the specifieddelimiterargument.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 StringReturns the specified array as a comma-delimited (',') string.static String[]toStringArray(Collection collection) Copy the given Collection into a String array.static StringReturns the input argument, but ensures the first character is capitalized (if possible).
-
Field Details
-
EMPTY_STRING
Constant representing the empty string, equal to ""- See Also:
-
DEFAULT_DELIMITER_CHAR
public static final char DEFAULT_DELIMITER_CHARConstant representing the default delimiter character (comma), equal to','- See Also:
-
DEFAULT_QUOTE_CHAR
public static final char DEFAULT_QUOTE_CHARConstant representing the default quote character (double quote), equal to '"'- See Also:
-
-
Constructor Details
-
StringUtils
public StringUtils()
-
-
Method Details
-
hasText
Check whether the given String has actual text. More specifically, returnstrueif the string 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 ") == trueCopied from the Spring Framework while retaining all license, copyright and author information.
- Parameters:
str- the String to check (may benull)- Returns:
trueif the String is notnull, its length is greater than 0, and it does not contain whitespace only- See Also:
-
hasLength
Check that the given String is neithernullnor of length 0. Note: Will returntruefor a String that purely consists of whitespace.StringUtils.hasLength(null) == falseCopied from the Spring Framework while retaining all license, copyright and author information.
StringUtils.hasLength("") == false
StringUtils.hasLength(" ") == true
StringUtils.hasLength("Hello") == true- Parameters:
str- the String to check (may benull)- Returns:
trueif the String is not null and has length- See Also:
-
startsWithIgnoreCase
Test if the given String starts with the specified prefix, ignoring upper/lower case.Copied from the Spring Framework while retaining all license, copyright and author information.
- Parameters:
str- the String to checkprefix- the prefix to look for- Returns:
truestarts with the specified prefix (ignoring case),falseif it does not.- See Also:
-
clean
Returns a 'cleaned' representation of the specified argument. 'Cleaned' is defined as the following:- If the specified
Stringisnull, returnnull - If not
null,trim()it. - If the trimmed string is equal to the empty String (i.e. ""), return
null - If the trimmed string is not the empty string, return the trimmed version .
nullis returned.- Parameters:
in- the input String to clean.- Returns:
- a populated-but-trimmed String or
nullotherwise
- If the specified
-
toString
Returns the specified array as a comma-delimited (',') string.- Parameters:
array- the array whose contents will be converted to a string.- Returns:
- the array's contents as a comma-delimited (',') string.
- Since:
- 1.0
-
toDelimitedString
Returns the array's contents as a string, with each element delimited by the specifieddelimiterargument. Useful fortoString()implementations and log messages.- Parameters:
array- the array whose contents will be converted to a stringdelimiter- the delimiter to use between each element- Returns:
- a single string, delimited by the specified
delimiter. - Since:
- 1.0
-
toDelimitedString
Returns the collection's contents as a string, with each element delimited by the specifieddelimiterargument. Useful fortoString()implementations and log messages.- Parameters:
c- the collection whose contents will be converted to a stringdelimiter- the delimiter to use between each element- Returns:
- a single string, delimited by the specified
delimiter. - Since:
- 1.2
-
tokenizeToStringArray
Tokenize the given String into a String array via a StringTokenizer. Trims tokens and omits empty tokens.The given delimiters string is supposed to consist of any number of delimiter characters. Each of those characters can be used to separate tokens. A delimiter is always a single character; for multi-character delimiters, consider using
delimitedListToStringArrayCopied from the Spring Framework while retaining all license, copyright and author information.
- Parameters:
str- the String to tokenizedelimiters- the delimiter characters, assembled as String (each of those characters is individually considered as delimiter).- Returns:
- an array of the tokens
- See Also:
-
tokenizeToStringArray
public static String[] tokenizeToStringArray(String str, String delimiters, boolean trimTokens, boolean ignoreEmptyTokens) Tokenize the given String into a String array via a StringTokenizer.The given delimiters string is supposed to consist of any number of delimiter characters. Each of those characters can be used to separate tokens. A delimiter is always a single character; for multi-character delimiters, consider using
delimitedListToStringArrayCopied from the Spring Framework while retaining all license, copyright and author information.
- Parameters:
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'strimignoreEmptyTokens- 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 (
nullif the input String wasnull) - See Also:
-
toStringArray
Copy the given Collection into a String array. The Collection must contain String elements only.Copied from the Spring Framework while retaining all license, copyright and author information.
- Parameters:
collection- the Collection to copy- Returns:
- the String array (
nullif the passed-in Collection wasnull)
-
splitKeyValue
- Throws:
ParseException
-
split
Splits a string using theDEFAULT_DELIMITER_CHAR(which is ','). This method also recognizes quoting using theDEFAULT_QUOTE_CHAR(which is '\"'), but does not retain them.This is equivalent of calling
split(String, char, char, char, boolean, boolean)withline, DEFAULT_DELIMITER_CHAR, DEFAULT_QUOTE_CHAR, DEFAULT_QUOTE_CHAR, false, true.- Parameters:
line- the line to split using theDEFAULT_DELIMITER_CHAR.- Returns:
- the split line, split tokens do not contain quotes and are trimmed.
- See Also:
-
split
-
split
-
split
-
split
public static String[] split(String aLine, char delimiter, char beginQuoteChar, char endQuoteChar, boolean retainQuotes, boolean trimTokens) Splits the specified delimited String into tokens, supporting quoted tokens so that quoted strings themselves won't be tokenized. This method's implementation is very loosely based (with significant modifications) on Glen Smith's open-source invalid input: '&view'=markup">CSVReader.java file. That file is Apache 2.0 licensed as well, making Glen's code a great starting point for us to modify to our needs.- Parameters:
aLine- the String to parsedelimiter- the delimiter by which the line argument is to be splitbeginQuoteChar- the character signifying the start of quoted text (so the quoted text will not be split)endQuoteChar- the character signifying the end of quoted textretainQuotes- if the quotes themselves should be retained when constructing the corresponding tokentrimTokens- if leading and trailing whitespace should be trimmed from discovered tokens.- Returns:
- the tokens discovered from parsing the given delimited line.
-
join
Joins the elements of the providedIteratorinto a single String containing the provided elements. No delimiter is added before or after the list. Anullseparator is the same as an empty String (""). Copied from Commons Lang, version 3 (r1138702).- Parameters:
iterator- theIteratorof values to join together, may be nullseparator- the separator character to use, null treated as ""- Returns:
- the joined String,
nullif null iterator input - Since:
- 1.2
-
splitToSet
Splits thedelimitedstring (delimited by the specifiedseparatorcharacter) and returns the delimited values as aSet. If either argument isnull, this method returnsnull.- Parameters:
delimited- the string to splitseparator- the character that delineates individual tokens to split- Returns:
- the delimited values as a
Set. - Since:
- 1.2
-
uppercaseFirstChar
Returns the input argument, but ensures the first character is capitalized (if possible).- Parameters:
in- the string to uppercase the first character.- Returns:
- the input argument, but with the first character capitalized (if possible).
- Since:
- 1.2
-