public class Strings
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
static java.lang.String[] |
EMPTY_ARRAY |
static java.util.Set<java.lang.Character> |
INVALID_FILENAME_CHARS |
Modifier and Type | Method and Description |
---|---|
static java.lang.String |
arrayToCommaDelimitedString(java.lang.Object[] arr)
Convenience method to return a String array as a CSV String.
|
static java.lang.String |
arrayToDelimitedString(java.lang.Object[] arr,
java.lang.String delim)
Convenience method to return a String array as a delimited (e.g.
|
static void |
arrayToDelimitedString(java.lang.Object[] arr,
java.lang.String delim,
java.lang.StringBuilder sb) |
static java.lang.String |
capitalize(java.lang.String str)
Capitalize a
String , changing the first letter to
upper case as per Character.toUpperCase(char) . |
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 |
cleanTruncate(java.lang.String s,
int length)
Truncates string to a length less than length.
|
static java.lang.String |
coalesceToEmpty(java.lang.String s) |
static java.lang.String |
collectionToCommaDelimitedString(java.lang.Iterable<?> coll)
Convenience method to return a Collection as a CSV String.
|
static java.lang.String |
collectionToDelimitedString(java.lang.Iterable<?> coll,
java.lang.String delim)
Convenience method to return a Collection as a delimited (e.g.
|
static java.lang.String |
collectionToDelimitedString(java.lang.Iterable<?> coll,
java.lang.String delim,
java.lang.String prefix,
java.lang.String suffix)
Convenience method to return a Collection as a delimited (e.g.
|
static void |
collectionToDelimitedString(java.lang.Iterable<?> coll,
java.lang.String delim,
java.lang.String prefix,
java.lang.String suffix,
java.lang.StringBuilder sb) |
static java.util.Set<java.lang.String> |
commaDelimitedListToSet(java.lang.String str)
Convenience method to convert a CSV string list to a set.
|
static java.lang.String[] |
commaDelimitedListToStringArray(java.lang.String str)
Convert a CSV list into an array of Strings.
|
static int |
countOccurrencesOf(java.lang.String str,
java.lang.String sub)
Count the occurrences of the substring in string s.
|
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 which is a delimited list and convert it to a String array.
|
static java.lang.String[] |
delimitedListToStringArray(java.lang.String str,
java.lang.String delimiter,
java.lang.String charsToDelete)
Take a String which is a delimited list and convert it to a String array.
|
static java.lang.String |
format1Decimals(double value,
java.lang.String suffix)
Format the double value with a single decimal points, trimming trailing '.0'.
|
static boolean |
hasLength(BytesReference bytesReference)
Check that the given BytesReference is neither
null nor of length 0
Note: Will return true for a BytesReference that purely consists of whitespace. |
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 has actual text.
|
static boolean |
hasText(java.lang.String str)
Check whether the given String has actual text.
|
static boolean |
isAllOrWildcard(java.lang.String[] data)
If an array only consists of zero or one element, which is "*" or "_all" return an empty array
which is usually used as everything
|
static boolean |
isEmpty(java.lang.CharSequence str)
Check that the given CharSequence is either
null or of length 0. |
static boolean |
isNullOrEmpty(java.lang.String s) |
static java.lang.String |
padStart(java.lang.String s,
int minimumLength,
char c) |
static java.lang.String |
quote(java.lang.String str)
Quote the given String with single quotes.
|
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 void |
spaceify(int spaces,
java.lang.String from,
java.lang.StringBuilder to) |
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.List<java.lang.String> |
splitSmart(java.lang.String s,
java.lang.String separator,
boolean decode)
Splits a backslash escaped string on the separator.
|
static java.lang.String[] |
splitStringByCommaToArray(java.lang.String s) |
static java.util.Set<java.lang.String> |
splitStringByCommaToSet(java.lang.String s) |
static java.util.Set<java.lang.String> |
splitStringToSet(java.lang.String s,
char c)
A convenience method for splitting a delimited string into
a set and trimming leading and trailing whitespace from all
split strings.
|
static java.lang.String |
substring(java.lang.String s,
int beginIndex,
int endIndex)
Return substring(beginIndex, endIndex) that is impervious to string length.
|
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 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 |
toString(ToXContent toXContent)
Return a
String that is the json representation of the provided ToXContent . |
static java.lang.String[] |
toStringArray(java.util.Collection<java.lang.String> collection)
Copy the given Collection into a String array.
|
static byte[] |
toUTF8Bytes(java.lang.CharSequence charSequence) |
static byte[] |
toUTF8Bytes(java.lang.CharSequence charSequence,
org.apache.lucene.util.BytesRefBuilder spare) |
static java.lang.String |
trimLeadingCharacter(java.lang.String str,
char leadingCharacter)
Trim all occurrences of the supplied leading character from the given String.
|
static boolean |
validFileName(java.lang.String fileName) |
static boolean |
validFileNameExcludingAstrix(java.lang.String fileName) |
public static final java.lang.String[] EMPTY_ARRAY
public static final java.util.Set<java.lang.Character> INVALID_FILENAME_CHARS
public static void spaceify(int spaces, java.lang.String from, java.lang.StringBuilder to) throws java.lang.Exception
java.lang.Exception
public static java.util.List<java.lang.String> splitSmart(java.lang.String s, java.lang.String separator, boolean decode)
Current backslash escaping supported:
\n \t \r \b \f are escaped the same as a Java String
Other characters following a backslash are produced verbatim (\c => c)
s
- the string to splitseparator
- the separator to split ondecode
- decode backslash escapingpublic static boolean hasLength(java.lang.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(BytesReference bytesReference)
null
nor of length 0
Note: Will return true
for a BytesReference that purely consists of whitespace.bytesReference
- the BytesReference to check (may be null
)true
if the BytesReference is not null and has lengthhasLength(CharSequence)
public static boolean hasLength(java.lang.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 isEmpty(java.lang.CharSequence str)
null
or of length 0.
Note: Will return false
for a CharSequence that purely consists of whitespace.
StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false StringUtils.isEmpty("Hello") = false
str
- the CharSequence to check (may be null
)true
if the CharSequence is either null or has a zero lengthpublic static boolean hasText(java.lang.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(java.lang.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 java.lang.String trimLeadingCharacter(java.lang.String str, char leadingCharacter)
str
- the String to checkleadingCharacter
- the leading character to be trimmedpublic 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)
str
- string to search in. Return 0 if this is null.sub
- string to search for. Return 0 if this is null.public static java.lang.String replace(java.lang.String inString, java.lang.String oldPattern, java.lang.String newPattern)
inString
- String to examineoldPattern
- String to replacenewPattern
- String to insertpublic static java.lang.String delete(java.lang.String inString, java.lang.String pattern)
inString
- the original Stringpattern
- the pattern to delete all occurrences ofpublic static java.lang.String deleteAny(java.lang.String inString, java.lang.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 java.lang.String quote(java.lang.String str)
str
- the input String (e.g. "myString")null
if the input was null
public 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 capitalize, may be null
null
if nullpublic static boolean validFileName(java.lang.String fileName)
public static boolean validFileNameExcludingAstrix(java.lang.String fileName)
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 java.lang.String[] toStringArray(java.util.Collection<java.lang.String> collection)
collection
- the Collection to copynull
if the passed-in
Collection was null
)public static java.util.Set<java.lang.String> splitStringByCommaToSet(java.lang.String s)
public static java.lang.String[] splitStringByCommaToArray(java.lang.String s)
public static java.util.Set<java.lang.String> splitStringToSet(java.lang.String s, char c)
s
- the string to splitc
- the delimiter to split onpublic static java.lang.String[] split(java.lang.String toSplit, java.lang.String delimiter)
toSplit
- the string to splitdelimiter
- to split the string up withnull
if the delimiter wasn't found in the given input Stringpublic static java.lang.String[] tokenizeToStringArray(java.lang.String str, java.lang.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 java.lang.String[] tokenizeToStringArray(java.lang.String str, java.lang.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 java.lang.String[] delimitedListToStringArray(java.lang.String str, java.lang.String delimiter)
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)tokenizeToStringArray(java.lang.String, java.lang.String)
public static java.lang.String[] delimitedListToStringArray(java.lang.String str, java.lang.String delimiter, java.lang.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 java.lang.String[] commaDelimitedListToStringArray(java.lang.String str)
str
- the input Stringpublic static java.util.Set<java.lang.String> commaDelimitedListToSet(java.lang.String str)
str
- the input Stringpublic static java.lang.String collectionToDelimitedString(java.lang.Iterable<?> coll, java.lang.String delim, java.lang.String prefix, java.lang.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 withpublic static void collectionToDelimitedString(java.lang.Iterable<?> coll, java.lang.String delim, java.lang.String prefix, java.lang.String suffix, java.lang.StringBuilder sb)
public static java.lang.String collectionToDelimitedString(java.lang.Iterable<?> coll, java.lang.String delim)
toString()
implementations.coll
- the Collection to displaydelim
- the delimiter to use (probably a ",")public static java.lang.String collectionToCommaDelimitedString(java.lang.Iterable<?> coll)
toString()
implementations.coll
- the Collection to displaypublic static java.lang.String arrayToDelimitedString(java.lang.Object[] arr, java.lang.String delim)
toString()
implementations.arr
- the array to displaydelim
- the delimiter to use (probably a ",")public static void arrayToDelimitedString(java.lang.Object[] arr, java.lang.String delim, java.lang.StringBuilder sb)
public static java.lang.String arrayToCommaDelimitedString(java.lang.Object[] arr)
toString()
implementations.arr
- the array to displaypublic static java.lang.String format1Decimals(double value, java.lang.String suffix)
public static byte[] toUTF8Bytes(java.lang.CharSequence charSequence)
public static byte[] toUTF8Bytes(java.lang.CharSequence charSequence, org.apache.lucene.util.BytesRefBuilder spare)
public static java.lang.String substring(java.lang.String s, int beginIndex, int endIndex)
public static boolean isAllOrWildcard(java.lang.String[] data)
public static java.lang.String toString(ToXContent toXContent)
String
that is the json representation of the provided ToXContent
.
Wraps the output into an anonymous object.public static java.lang.String cleanTruncate(java.lang.String s, int length)
public static boolean isNullOrEmpty(@Nullable java.lang.String s)
public static java.lang.String coalesceToEmpty(@Nullable java.lang.String s)
public static java.lang.String padStart(java.lang.String s, int minimumLength, char c)