java.lang.Object | |
↳ | com.pnfsoftware.jeb.util.format.Strings |
Utility methods for Strings and CharSequences.
Fields | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
public static final String | LINESEP | Line-separator for *this* platform. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Strings() |
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
static String |
camelCaseToString(String s, boolean breakOnDigits, boolean keepUppercaseAcronyms)
Convert a camel-case string to a sentence.
| ||||||||||
static String |
camelCaseToString(String s)
Convert a camel-case string to a sentence.
| ||||||||||
static boolean |
contains(String s, String... elts)
A many-element variant of
String.contains . | ||||||||||
static int |
countNonBlankCharacters(CharSequence s)
Count the number of non blank characters in the provided string.
| ||||||||||
static String |
decodeASCII(byte[] bytes)
Decode a byte buffer using an ASCII decoder.
| ||||||||||
static String |
decodeASCII(byte[] bytes, int offset, int length)
Decode a byte buffer using an ASCII decoder.
| ||||||||||
static String[] |
decodeArray(String s)
Decode an encoded array of objects.
| ||||||||||
static List<String> |
decodeList(String s)
Decode an encoded list of objects.
| ||||||||||
static String |
decodeLocal(byte[] bytes, int offset, int length)
Decode a byte buffer using the local platform's default charset.
| ||||||||||
static String |
decodeLocal(byte[] bytes)
Decode a byte buffer using the local platform's default charset.
| ||||||||||
static Map<String, String> |
decodeMap(String s)
Decode an encoded map.
| ||||||||||
static String |
decodeUTF8(byte[] bytes)
Decode a byte buffer using a UTF-8 decoder.
| ||||||||||
static String |
decodeUTF8(byte[] bytes, int offset, int length)
Decode a byte buffer using a UTF-8 decoder.
| ||||||||||
static Charset |
determinePotentialEncoding(byte[] data, int offset, int size)
Heuristically determine the encoding of a string.
| ||||||||||
static byte[] |
encodeASCII(String s)
Encode a string using an ASCII encoder.
| ||||||||||
static String |
encodeArray(Object... array)
Encode an array of objects.
| ||||||||||
static String |
encodeList(List<?> list)
Encode a list of objects.
| ||||||||||
static byte[] |
encodeLocal(String s)
Encode a string using the local platform's default charset.
| ||||||||||
static String |
encodeMap(Map<?, ?> map)
Encode a dictionary.
| ||||||||||
static byte[] |
encodeUTF8(String s)
Encode a string using a UTF-8 encoder.
| ||||||||||
static boolean |
endsWith(String s, String... elts)
A many-element variant of
String.endsWith . | ||||||||||
static boolean |
equals(String a, String b)
A safer version of
equals(Object) . | ||||||||||
static boolean |
equalsIgnoreCase(String a, String b)
A safer version of
equalsIgnoreCase(String) | ||||||||||
static String |
f(String format, Object... args)
Format using the standard US locale.
| ||||||||||
static String | firstLine(String s) | ||||||||||
static String |
generate(char c, int count)
Generate a repeated-character string.
| ||||||||||
static int |
getAsciiLength(byte[] data)
Same as
getAsciiLength(data, data.length) . | ||||||||||
static int |
getAsciiLength(byte[] data, int maxlen)
Retrieve the length of a potentially ASCII-encoded string.
| ||||||||||
static Comparator<String> |
getDefaultComparator()
The default JEB String Comparator.
| ||||||||||
static boolean |
hasBlank(CharSequence s)
Determine if a string contains one or more WSP characters.
| ||||||||||
static boolean |
hasLength(CharSequence s)
Determine if a string is non-null and non-empty.
| ||||||||||
static boolean |
hasRtl(CharSequence s)
Determine if a string contains right-to-left (RTL) characters, eg Arabic or Hebrew characters.
| ||||||||||
static String |
indentBlock(String blk)
Indent a buffer using a 4-space indentation.
| ||||||||||
static String |
indentBlock(String blk, String indent)
Indent a buffer.
| ||||||||||
static int |
indexOf(CharSequence text, char c)
Implementation of
indexOf for CharSequence. | ||||||||||
static int |
indexOf2(CharSequence text, char c0, char c1)
Find the first one of two characters and return its position.
| ||||||||||
static boolean |
isBlank(CharSequence s)
Determine if a character sequence is null, empty, or contains WSP chars exclusively.
| ||||||||||
static boolean |
isBlank(String s)
Determine if a string is null, empty, or contains WSP chars exclusively.
| ||||||||||
static boolean |
isContainedIn(String s, String... elts)
Determine if a string is contained in an var-arg list of provided strings.
| ||||||||||
static boolean | isNumber(String text) | ||||||||||
static boolean |
isWhitespace(char c)
Determine if a character is a white-space, per the Unicode standard.
| ||||||||||
static String |
join(String separator, Iterable<?> iterator)
Join the string representations of a sequence of objects using the provided separator.
| ||||||||||
static String |
join(String separator, String[] elts, int begin, int end)
Join a series of non-null strings.
| ||||||||||
static String |
join(String separator, Object... objects)
Join the string representations of a sequence of objects using the provided separator.
| ||||||||||
static String |
joinList(Iterable<?> objects)
Join the elements of a list using "," as a separator and surround the resulting string with
square brackets.
| ||||||||||
static String |
joinv(String separator, Object... objects)
Join the string representations of a sequence of objects using the provided separator.
| ||||||||||
static String |
joinv(String separator, String defaultValue, Object... objects)
Join the string representations of a sequence of objects using the provided separator.
| ||||||||||
static String |
ltrim(String s, char c)
Left trim on a given character.
| ||||||||||
static String |
ltrim(String s)
Left trim all chars less than or equal to ' '.
| ||||||||||
static void |
makeNewLine(StringBuilder sb)
Append a new-line character to the provided buffer unless the buffer is empty or the last
character in the buffer is a new-line.
| ||||||||||
static CharSequence |
pad(char c, int iter)
Repeat character c, iter times and build a CharSequence from it.
| ||||||||||
static String |
parseUrlParameter(String s, String entry)
Same as
parseUrlParameters(String, String...) with a single entry. | ||||||||||
static String[] |
parseUrlParameters(String s, String... entries)
Extract the parameters of a URL-like encoded string.
| ||||||||||
static String |
randomUniqueId()
Generate a 32-character long random unique identifier.
| ||||||||||
static String |
replaceLast(String str, String target, String replacement)
Replace the last occurrence of target in str by the replacement
| ||||||||||
static String |
replaceNewLines(String s, String repl)
Replace newline characters.
| ||||||||||
static String |
replaceWhitespaces(String str, char repl)
Efficiently replace all Unicode white-spaces by the provided char.
| ||||||||||
static String |
rtrim(String s)
Right trim all chars less than or equal to ' '.
| ||||||||||
static String |
rtrim(String s, char c)
Right trim on a given character.
| ||||||||||
static String |
safe(Object s)
Get the string representation of the parameter object, or the empty string if the object is
null.
| ||||||||||
static String |
safe(Object s, String def)
Get the string representation of the parameter object, or the provided string if the object
is null.
| ||||||||||
static String |
safe2(Object s, String def)
Get the string representation of the parameter object, or the provided non-empty string if
the object is null or its string representation is the empty string.
| ||||||||||
static int |
search(String data, int begin, String pattern, boolean regex, boolean caseSensitive, boolean reverseSearch)
Search for a sub-string.
| ||||||||||
static String |
spaces(int count)
Generate a repeated string of spaces.
| ||||||||||
static String[] | splitLines(String s) | ||||||||||
static String[] |
splitLines(String s, boolean doNotReturnFinalEmptyLine)
Split a text into an array of Lines.
| ||||||||||
static String[] | splitall(String s, String delim) | ||||||||||
static boolean |
startsWith(String s, String... elts)
A many-element variant of
String.startsWith . | ||||||||||
static String |
substring(String s, int begin, int end)
Flexible version of
substring(int, int) . | ||||||||||
static String |
toString(Object o, String defaultValue)
A safe version of
String.toString . | ||||||||||
static String |
toString(Object o)
A safe version of
String.toString . | ||||||||||
static String |
trim(String s)
Trim (left and right) all chars less than or equal to ' '.
| ||||||||||
static String |
trimWhitespaces(String s)
Trim (left and right) all characters considered to be white-space by the Unicode standard.
| ||||||||||
static String |
truncate(String s, int maxLength)
Truncate a string.
| ||||||||||
static String |
truncateWithSuffix(String s, int maxLength, String suffix)
Truncate a string and append an optional suffix to it if it was actually truncated.
| ||||||||||
static String |
urldecodeUTF8(String s)
Decode a
URL-encoded string. | ||||||||||
static String |
urlencodeUTF8(String s)
Urlencode a string.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
![]() |
Line-separator for *this* platform.
Convert a camel-case string to a sentence. Example:
ThisIsACamelCaseString -> This is a camel case string ThisIsACamel44CaseString -> This is a camel44 case string CountryUSA -> Country u s a with breakOnDigits=true: ThisIsACamel44CaseString -> This is a camel 44 case string with keepUppercaseAcronyms=true: CountryUSA -> Country USAA legal camel-case string always starts with an upper-case letter, and does not contain whitespace characters.
s | the input camel-case string |
---|---|
breakOnDigits | if true, base-10 numbers will also be used as breaks |
keepUppercaseAcronyms | keep 2+ upper-case letter acronyms intact, eg: CountryUSA
would be converted to Country USA instead of Country u s a |
ParseException | if the input string was not camel-case formatted |
---|
Convert a camel-case string to a sentence. Example:
ThisIsACamelCaseString -> This is a camel case stringA legal camel-case string always starts with an upper-case letter, and does not contain whitespace characters.
s | the input camel-case string |
---|
ParseException | if the input string was not camel-case formatted |
---|
A many-element variant of String.contains
.
s | the string |
---|---|
elts | a list of string elements |
Count the number of non blank characters in the provided string.
Decode a byte buffer using an ASCII decoder. If the decoder is not available, the byte buffer is decoded using the system's default decoder.
bytes | mandatory byte buffer |
---|
Decode a byte buffer using an ASCII decoder. If the decoder is not available, the byte buffer is decoded using the system's default decoder.
bytes | byte buffer |
---|---|
offset | start offset |
length | count of bytes to be decoded |
Decode an encoded array of objects.
s | the encoded array |
---|
Decode an encoded list of objects.
s | optional encoded list |
---|
Decode a byte buffer using the local platform's default charset. This method is potentially dangerous.
bytes | byte buffer |
---|---|
offset | start offset |
length | count of bytes to be decoded |
Decode a byte buffer using the local platform's default charset. This method is potentially dangerous.
bytes | mandatory byte buffer |
---|
Decode an encoded map.
s | optional encoded map |
---|
Decode a byte buffer using a UTF-8 decoder. If the decoder is not available, the byte buffer is decoded using the system's default decoder.
bytes | mandatory byte buffer |
---|
Decode a byte buffer using a UTF-8 decoder. If the decoder is not available, the byte buffer is decoded using the system's default decoder.
bytes | byte buffer |
---|---|
offset | start offset |
length | count of bytes to be decoded |
Heuristically determine the encoding of a string.
Encode a string using an ASCII encoder. If the encoder is not available, the string is encoded using the system's default encoder. This should never happen.
s | mandatory string |
---|
Encode an array of objects.
array | the array of objects |
---|
Encode a list of objects.
list | the list of objects |
---|
Encode a string using the local platform's default charset. This method is potentially dangerous.
s | mandatory string |
---|
Encode a dictionary. The encoding scheme will produce strings like:
encodedKey1=encodedValue1&encodedKey2=encodedValue2&...
map | the map of key/values |
---|
Encode a string using a UTF-8 encoder. If the encoder is not available, the string is encoded using the system's default encoder. This should never happen.
s | mandatory string |
---|
A many-element variant of String.endsWith
.
s | the string |
---|---|
elts | a list of string elements |
A safer version of equals(Object)
.
a | first string, may be null |
---|---|
b | second string, may be null |
A safer version of equalsIgnoreCase(String)
a | first string, may be null |
---|---|
b | second string, may be null |
Format using the standard US locale.
Generate a repeated-character string.
c | character to repeat |
---|---|
count | repeat count (ie, string length) |
Same as getAsciiLength(data, data.length)
.
data | a bybte array |
---|
Retrieve the length of a potentially ASCII-encoded string. The String characters allowed are contained CR, LF, TAB, and any character in the [0x20, 0x7E] range.
data | a byte array |
---|
The default JEB String Comparator. It is a combination of NumberComparator
and AlphanumCharComparator
. See relevant classes for deeper information.
Determine if a string contains one or more WSP characters.
Determine if a string is non-null and non-empty.
Determine if a string contains right-to-left (RTL) characters, eg Arabic or Hebrew characters.
Indent a buffer using a 4-space indentation.
Indent a buffer.
Implementation of indexOf
for CharSequence. Same behavior as
indexOf(int)
.
text | string |
---|---|
c | char |
Find the first one of two characters and return its position.
text | string |
---|---|
c0 | first char |
c1 | second char |
Determine if a character sequence is null, empty, or contains WSP chars exclusively.
s | the character sequence |
---|
Determine if a string is null, empty, or contains WSP chars exclusively.
This method is deprecated and left out for compatibility reason only. Use
isBlank(CharSequence)
instead.
s | the string |
---|
Determine if a string is contained in an var-arg list of provided strings.
s | string to be searched |
---|---|
elts | the list of elements |
Determine if a character is a white-space, per the Unicode standard. This method differs from
isWhitespace(char)
(Java language definition of a WSP).
Join the string representations of a sequence of objects using the provided separator. Null objects will be formatted as "null".
separator | a non-null separator |
---|---|
iterator | an iterator |
Join a series of non-null strings.
begin | inclusive start index |
---|---|
end | exclusive end index |
Join the string representations of a sequence of objects using the provided separator. Null objects will be formatted as "null".
This method is error-prone and was deprecated. Use #joinv(String, Object...) joinv instead.
separator | a non-null separator |
---|---|
objects | a sequence of objects |
Join the elements of a list using "," as a separator and surround the resulting string with
square brackets. Careful, this method does not abide to the common semantic of
join
.
objects | a list of objects |
---|
Join the string representations of a sequence of objects using the provided separator. Null objects will be formatted as "null".
separator | a non-null separator |
---|---|
objects | an array of objects |
Join the string representations of a sequence of objects using the provided separator.
separator | a non-null separator |
---|---|
defaultValue | String representation for null Objects |
objects | an array of objects |
Left trim on a given character.
Left trim all chars less than or equal to ' '. Note that this method differs from
trim()
which, for instance, does not consider CR or LF to be WSP.
s | a string |
---|
Append a new-line character to the provided buffer unless the buffer is empty or the last character in the buffer is a new-line.
sb | a string builder |
---|
Repeat character c, iter times and build a CharSequence from it. For example pad('0', 4) will return "0000".
c | inner character |
---|---|
iter | times to repeat character. |
Same as parseUrlParameters(String, String...)
with a single entry.
s | the URL-like string to be parsed, containing a single key-value pair, eg
hometype=house |
---|
Extract the parameters of a URL-like encoded string. No decoding is taking place. Example:
- s: "type=home&subtype=house&[another_key]=[another_value]" - entries: "type", "subtype" - returns: ["home", "house"]
s | the string to be parsed |
---|---|
entries | the entries, whose count must match the number of key-value pairs |
Generate a 32-character long random unique identifier. The UID returned consists of the digits 0 to 9 and letters a to f (lower-case).
Replace the last occurrence of target in str by the replacement
str | the string to search in |
---|---|
target | the string to search for |
replacement | the replacement part |
Replace newline characters. This method accepts null strings as input.
s | a string or null; in the latter case, null will be returned |
---|---|
repl | the non-null substitution string |
Efficiently replace all Unicode white-spaces by the provided char.
Right trim all chars less than or equal to ' '. Note that this method differs from
trim()
which, for instance, does not consider CR or LF to be WSP.
s | a string |
---|
Right trim on a given character.
Get the string representation of the parameter object, or the empty string if the object is null.
s | an object, possibly null |
---|
toString()
representation, or the empty string
Get the string representation of the parameter object, or the provided string if the object is null.
s | an object, possibly null |
---|---|
def | a non-null string |
Get the string representation of the parameter object, or the provided non-empty string if the object is null or its string representation is the empty string.
s | an object, possibly null |
---|---|
def | a non-null, non-empty string |
Search for a sub-string.
data | buffer to be searched (aka, the haystack) |
---|---|
begin | where to start (inclusive) in the case of a forward search: on success the result will be >= begin; where to end (exclusive) in the case of a backward/reverse search: on success, the result will be < begin |
pattern | text that is being searched (aka, the needle) |
regex | if true, the pattern will be treated as a regular expression; if the regex is invalid, it will be treated as a regular string and no error will be reported |
caseSensitive | search is case-sensitive |
reverseSearch | search is done in reverse |
Generate a repeated string of spaces.
Split a text into an array of Lines. Empty lines are returned. The final new-line character(s) are trimmed off. Works for all new lines characters (\r, \n) or sequences of characters (\r\n)
s | mandatory input string |
---|
A many-element variant of String.startsWith
.
s | the string |
---|---|
elts | a list of string elements |
Flexible version of substring(int, int)
. Allow Python-like negative indexes
for convenience.
s | a string |
---|---|
begin | index in the [-s_length, +s_length] range |
end | index in the [-s_length, +s_length] range |
A safe version of String.toString
.
o | an object, could be null |
---|---|
defaultValue | default String representation if o is null |
A safe version of String.toString
.
o | an object, could be null |
---|
Trim (left and right) all chars less than or equal to ' '. Note that this method differs from
trim()
which, for instance, does not consider CR or LF to be WSP.
s | a string |
---|
Trim (left and right) all characters considered to be white-space by the Unicode standard.
s | the input string |
---|
Truncate a string.
s | a string |
---|---|
maxLength | positive length |
Truncate a string and append an optional suffix to it if it was actually truncated.
s | a string |
---|---|
maxLength | positive length, which must be greater than or equal to the suffix, if one was provided |
suffix | optional suffix appended to a string that is actualy truncated |
Urlencode a string. The resulting string will have the following characteristics:
s | the string to be encoded |
---|