Class Strings
public class Strings
extends java.lang.Object
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String[]
EMPTY_ARRAY
static java.util.Set<java.lang.Character>
INVALID_FILENAME_CHARS
-
Method Summary
Modifier and Type Method 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 aString
, changing the first letter to upper case as perCharacter.toUpperCase(char)
.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 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(java.lang.CharSequence str)
Check that the given CharSequence is neithernull
nor of length 0.static boolean
hasLength(java.lang.String str)
Check that the given String is neithernull
nor of length 0.static boolean
hasLength(BytesReference bytesReference)
Check that the given BytesReference is neithernull
nor of length 0 Note: Will returntrue
for a BytesReference that purely consists of whitespace.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 everythingstatic boolean
isEmpty(java.lang.CharSequence str)
Check that the given CharSequence is eithernull
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)
Split the specified string by commas to an array.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.util.Set<java.lang.String>
tokenizeByCommaToSet(java.lang.String s)
Tokenize the specified string by commas to a set, trimming whitespace and ignoring empty tokens.static java.lang.String[]
tokenizeToStringArray(java.lang.String s, java.lang.String delimiters)
Tokenize the given String into a String array via a StringTokenizer.static java.lang.String
toString(org.elasticsearch.common.xcontent.ToXContent toXContent)
Return aString
that is the json representation of the providedToXContent
.static java.lang.String
toString(org.elasticsearch.common.xcontent.ToXContent toXContent, boolean pretty, boolean human)
Return aString
that is the json representation of the providedToXContent
.static java.lang.String
toString(org.elasticsearch.common.xcontent.XContentBuilder xContentBuilder)
Returns a string representation of the builder (only applicable for text based xcontent).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)
-
Field Details
-
EMPTY_ARRAY
public static final java.lang.String[] EMPTY_ARRAY -
INVALID_FILENAME_CHARS
public static final java.util.Set<java.lang.Character> INVALID_FILENAME_CHARS
-
-
Method Details
-
spaceify
public static void spaceify(int spaces, java.lang.String from, java.lang.StringBuilder to) throws java.lang.Exception- Throws:
java.lang.Exception
-
splitSmart
public 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.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)- Parameters:
s
- the string to splitseparator
- the separator to split ondecode
- decode backslash escaping
-
hasLength
public static boolean hasLength(java.lang.CharSequence str)Check that the given CharSequence is neithernull
nor of length 0. Note: Will returntrue
for a CharSequence that purely consists of whitespace.StringUtils.hasLength(null) = false StringUtils.hasLength("") = false StringUtils.hasLength(" ") = true StringUtils.hasLength("Hello") = true
- Parameters:
str
- the CharSequence to check (may benull
)- Returns:
true
if the CharSequence is not null and has length- See Also:
hasText(String)
-
hasLength
Check that the given BytesReference is neithernull
nor of length 0 Note: Will returntrue
for a BytesReference that purely consists of whitespace.- Parameters:
bytesReference
- the BytesReference to check (may benull
)- Returns:
true
if the BytesReference is not null and has length- See Also:
hasLength(CharSequence)
-
hasLength
public static boolean hasLength(java.lang.String str)Check that the given String is neithernull
nor of length 0. Note: Will returntrue
for a String that purely consists of whitespace.- Parameters:
str
- the String to check (may benull
)- Returns:
true
if the String is not null and has length- See Also:
hasLength(CharSequence)
-
isEmpty
public static boolean isEmpty(java.lang.CharSequence str)Check that the given CharSequence is eithernull
or of length 0. Note: Will returnfalse
for a CharSequence that purely consists of whitespace.StringUtils.isEmpty(null) = true StringUtils.isEmpty("") = true StringUtils.isEmpty(" ") = false StringUtils.isEmpty("Hello") = false
- Parameters:
str
- the CharSequence to check (may benull
)- Returns:
true
if the CharSequence is either null or has a zero length
-
hasText
public static boolean hasText(java.lang.CharSequence str)Check whether the given CharSequence has actual text. More specifically, returnstrue
if 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 ") = true
- Parameters:
str
- the CharSequence to check (may benull
)- Returns:
true
if the CharSequence 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 given String has actual text. More specifically, returnstrue
if the string notnull
, its length is greater than 0, and it contains at least one non-whitespace character.- Parameters:
str
- the String to check (may benull
)- Returns:
true
if the String is notnull
, its length is greater than 0, and it does not contain whitespace only- See Also:
hasText(CharSequence)
-
trimLeadingCharacter
public static java.lang.String trimLeadingCharacter(java.lang.String str, char leadingCharacter)Trim all occurrences of the supplied leading character from the given String.- Parameters:
str
- the String to checkleadingCharacter
- the leading character to be trimmed- Returns:
- the trimmed 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
-
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 original Stringpattern
- 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 given String.- Parameters:
inString
- the original StringcharsToDelete
- 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 given String with single quotes.- Parameters:
str
- the input String (e.g. "myString")- Returns:
- the quoted String (e.g. "'myString'"),
or
null
if the input wasnull
-
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
- the String to capitalize, may benull
- Returns:
- the capitalized String,
null
if null
-
validFileName
public static boolean validFileName(java.lang.String fileName) -
validFileNameExcludingAstrix
public static boolean validFileNameExcludingAstrix(java.lang.String fileName) -
toStringArray
public static java.lang.String[] toStringArray(java.util.Collection<java.lang.String> collection)Copy the given Collection into a String array. The Collection must contain String elements only.- Parameters:
collection
- the Collection to copy- Returns:
- the String array (
null
if the passed-in Collection wasnull
)
-
tokenizeByCommaToSet
public static java.util.Set<java.lang.String> tokenizeByCommaToSet(java.lang.String s)Tokenize the specified string by commas to a set, trimming whitespace and ignoring empty tokens.- Parameters:
s
- the string to tokenize- Returns:
- the set of tokens
-
splitStringByCommaToArray
public static java.lang.String[] splitStringByCommaToArray(java.lang.String s)Split the specified string by commas to an array.- Parameters:
s
- the string to split- Returns:
- the array of split values
- See Also:
String.split(String)
-
split
public static java.lang.String[] split(java.lang.String toSplit, java.lang.String delimiter)Split a String 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 input String
-
tokenizeToStringArray
public static java.lang.String[] tokenizeToStringArray(java.lang.String s, java.lang.String delimiters)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
delimitedListToStringArray
- Parameters:
s
- 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:
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 a String which is a delimited list and convert it to a String array.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
.- Parameters:
str
- the input Stringdelimiter
- 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 a String which is a delimited list and convert it to a String array.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
.- Parameters:
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.- 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 CSV list into an array of Strings.- Parameters:
str
- the input String- 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)Convenience method to convert a CSV string list to a set. Note that this will suppress duplicates.- Parameters:
str
- the input String- Returns:
- a Set of String entries in the list
-
collectionToDelimitedString
public 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. CSV) String. E.g. useful fortoString()
implementations.- Parameters:
coll
- the Collection to displaydelim
- the delimiter to use (probably a ",")prefix
- the String to start each element withsuffix
- the String to end each element with- Returns:
- the delimited String
-
collectionToDelimitedString
public static void collectionToDelimitedString(java.lang.Iterable<?> coll, java.lang.String delim, java.lang.String prefix, java.lang.String suffix, java.lang.StringBuilder sb) -
collectionToDelimitedString
public static java.lang.String collectionToDelimitedString(java.lang.Iterable<?> coll, java.lang.String delim)Convenience method to return a Collection as a delimited (e.g. CSV) String. E.g. useful fortoString()
implementations.- Parameters:
coll
- the Collection to displaydelim
- the delimiter to use (probably a ",")- Returns:
- the delimited String
-
collectionToCommaDelimitedString
public static java.lang.String collectionToCommaDelimitedString(java.lang.Iterable<?> coll)Convenience method to return a Collection as a CSV String. E.g. useful fortoString()
implementations.- Parameters:
coll
- the Collection to display- Returns:
- the delimited String
-
arrayToDelimitedString
public 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. CSV) String. E.g. useful fortoString()
implementations.- Parameters:
arr
- the array to displaydelim
- the delimiter to use (probably a ",")- Returns:
- the delimited String
-
arrayToDelimitedString
public static void arrayToDelimitedString(java.lang.Object[] arr, java.lang.String delim, java.lang.StringBuilder sb) -
arrayToCommaDelimitedString
public static java.lang.String arrayToCommaDelimitedString(java.lang.Object[] arr)Convenience method to return a String array as a CSV String. E.g. useful fortoString()
implementations.- Parameters:
arr
- the array to display- Returns:
- the delimited String
-
format1Decimals
public static java.lang.String format1Decimals(double value, java.lang.String suffix)Format the double value with a single decimal points, trimming trailing '.0'. -
toUTF8Bytes
public static byte[] toUTF8Bytes(java.lang.CharSequence charSequence) -
toUTF8Bytes
public static byte[] toUTF8Bytes(java.lang.CharSequence charSequence, org.apache.lucene.util.BytesRefBuilder spare) -
substring
public static java.lang.String substring(java.lang.String s, int beginIndex, int endIndex)Return substring(beginIndex, endIndex) that is impervious to string length. -
isAllOrWildcard
public 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 -
toString
public static java.lang.String toString(org.elasticsearch.common.xcontent.ToXContent toXContent)Return aString
that is the json representation of the providedToXContent
. Wraps the output into an anonymous object if needed. The content is not pretty-printed nor human readable. -
toString
public static java.lang.String toString(org.elasticsearch.common.xcontent.XContentBuilder xContentBuilder)Returns a string representation of the builder (only applicable for text based xcontent).- Parameters:
xContentBuilder
- builder containing an object to converted to a string
-
toString
public static java.lang.String toString(org.elasticsearch.common.xcontent.ToXContent toXContent, boolean pretty, boolean human)Return aString
that is the json representation of the providedToXContent
. Wraps the output into an anonymous object if needed. Allows to control whether the outputted json needs to be pretty printed and human readable. -
cleanTruncate
public static java.lang.String cleanTruncate(java.lang.String s, int length)Truncates string to a length less than length. Backtracks to throw out high surrogates. -
isNullOrEmpty
public static boolean isNullOrEmpty(@Nullable java.lang.String s) -
coalesceToEmpty
public static java.lang.String coalesceToEmpty(@Nullable java.lang.String s) -
padStart
public static java.lang.String padStart(java.lang.String s, int minimumLength, char c)
-