Class StringUtil
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidappend(StringBuilder buf, byte b, int base) append hex digitstatic voidappend(StringBuilder buf, String s, int offset, int length) Append substring to StringBuilderstatic voidappend2digits(StringBuffer buf, int i) Append 2 digits (zero padded) to the StringBufferstatic voidappend2digits(StringBuilder buf, int i) Append 2 digits (zero padded) to the StringBuilderstatic String[]Parse the string representation of a list usingcsvSplit(List, String, int, int)static byteasciiToLowerCase(byte c) fast lower case conversion.static charasciiToLowerCase(char c) fast lower case conversion.static Stringfast lower case conversion.static byteasciiToUpperCase(byte c) fast upper case conversion.static charasciiToUpperCase(char c) fast upper case conversion.static Stringfast upper case conversion.static String[]Parse a CSV string usingcsvSplit(List, String, int, int)static String[]Parse a CSV string usingcsvSplit(List, String, int, int)Split a quoted comma separated string to a liststatic booleanendsWithIgnoreCase(String s, String w) static booleanstatic byte[]static byte[]static byte[]static intGet the length of a string where a null string is length 0.static byte[]static intreturns the next index of a character from the chars stringstatic intFind the index of a control characters in Stringstatic booleanTest if a string is null or only has whitespace characters in it.static booleanChecks if a String is empty ("") or null.static booleanstatic booleanisNotBlank(String str) Test if a string is not null and contains at least 1 non-whitespace characters in it.static booleanstatic StringReturn a non null string.static StringConvert alternate charset names (eg utf8) to normalized name (eg UTF-8).static StringnormalizeCharset(String s, int offset, int length) Convert alternate charset names (eg utf8) to normalized name (eg UTF-8).static Stringprintable(byte[] b) static Stringstatic StringReplace chars within string.static StringReplace substrings within string.static StringreplaceFirst(String original, String target, String replacement) Replace first substrings within string.static StringReplace all characters from input string that are known to have special meaning in various filesystems.static StringsanitizeXmlString(String html) static booleanstartsWithIgnoreCase(String s, String w) static StringstringFrom(String s, int n) Generate a string from another string repeated n times.static Stringstatic StringtoHexString(byte b) static StringtoHexString(byte[] b) static StringtoHexString(byte[] b, int offset, int length) static intConvert String to an integer.static longConvert String to an long.static StringDeprecated, for removal: This API element is subject to removal in a future version.static StringtoUTF8String(byte[] b, int offset, int length) static StringTruncate a string to a max size.static StringThe String value of an Object
-
Field Details
-
ALL_INTERFACES
- See Also:
-
CRLF
- See Also:
-
DEFAULT_DELIMS
- See Also:
-
__ISO_8859_1
- See Also:
-
__UTF8
- See Also:
-
__UTF16
- See Also:
-
-
Constructor Details
-
StringUtil
public StringUtil()
-
-
Method Details
-
normalizeCharset
Convert alternate charset names (eg utf8) to normalized name (eg UTF-8).- Parameters:
s- the charset to normalize- Returns:
- the normalized charset (or null if normalized version not found)
-
normalizeCharset
Convert alternate charset names (eg utf8) to normalized name (eg UTF-8).- Parameters:
s- the charset to normalizeoffset- the offset in the charsetlength- the length of the charset in the input param- Returns:
- the normalized charset (or null if not found)
-
asciiToLowerCase
public static char asciiToLowerCase(char c) fast lower case conversion. Only works on ascii (not unicode)- Parameters:
c- the char to convert- Returns:
- a lower case version of c
-
asciiToLowerCase
public static byte asciiToLowerCase(byte c) fast lower case conversion. Only works on ascii (not unicode)- Parameters:
c- the byte to convert- Returns:
- a lower case version of c
-
asciiToUpperCase
public static char asciiToUpperCase(char c) fast upper case conversion. Only works on ascii (not unicode)- Parameters:
c- the char to convert- Returns:
- a upper case version of c
-
asciiToUpperCase
public static byte asciiToUpperCase(byte c) fast upper case conversion. Only works on ascii (not unicode)- Parameters:
c- the byte to convert- Returns:
- a upper case version of c
-
asciiToLowerCase
fast lower case conversion. Only works on ascii (not unicode)- Parameters:
s- the string to convert- Returns:
- a lower case version of s
-
asciiToUpperCase
fast upper case conversion. Only works on ascii (not unicode)- Parameters:
s- the string to convert- Returns:
- a lower case version of s
-
sanitizeFileSystemName
Replace all characters from input string that are known to have special meaning in various filesystems.This will replace all of the following characters with a "
_" (underscore).- Control Characters
- Anything not 7-bit printable ASCII
- Special characters: pipe, redirect, combine, slash, equivalence, bang, glob, selection, etc...
- Space
- Parameters:
str- the raw input string- Returns:
- the sanitized output string. or null if
stris null.
-
startsWithIgnoreCase
-
endsWithIgnoreCase
-
indexFrom
returns the next index of a character from the chars string- Parameters:
s- the input string to searchchars- the chars to look for- Returns:
- the index of the character in the input stream found.
-
replace
Replace chars within string.Fast replacement for
java.lang.String#String.replace(char, char)- Parameters:
str- the input stringfind- the char to look forwith- the char to replace with- Returns:
- the now replaced string
-
replace
Replace substrings within string.Fast replacement for
java.lang.String#String.replace(CharSequence, CharSequence)- Parameters:
s- the input stringsub- the string to look forwith- the string to replace with- Returns:
- the now replaced string
-
replaceFirst
Replace first substrings within string.Fast replacement for
java.lang.String#String.replaceFirst(String, String), but without Regex support.- Parameters:
original- the original stringtarget- the target string to look forreplacement- the replacement string to use- Returns:
- the replaced string
-
append
Append substring to StringBuilder- Parameters:
buf- StringBuilder to append tos- String to append fromoffset- The offset of the substringlength- The length of the substring
-
append
append hex digit- Parameters:
buf- the buffer to append tob- the byte to appendbase- the base of the hex output (almost always 16).
-
append2digits
Append 2 digits (zero padded) to the StringBuffer- Parameters:
buf- the buffer to append toi- the value to append
-
append2digits
Append 2 digits (zero padded) to the StringBuilder- Parameters:
buf- the buffer to append toi- the value to append
-
stringFrom
Generate a string from another string repeated n times.- Parameters:
s- the string to usen- the number of times this string should be appended
-
nonNull
Return a non null string.- Parameters:
s- String- Returns:
- The string passed in or empty string if it is null.
-
equals
-
toUTF8String
-
toString
@Deprecated(since="10", forRemoval=true) public static String toString(byte[] b, int offset, int length, String charset) Deprecated, for removal: This API element is subject to removal in a future version.useString(byte[], int, int, Charset)instead -
indexOfControlChars
Find the index of a control characters in StringThis will return a result on the first occurrence of a control character, regardless if there are more than one.
Note: uses codepoint version of
Character.isISOControl(int)to support Unicode better.indexOfControlChars(null) == -1 indexOfControlChars("") == -1 indexOfControlChars("\r\n") == 0 indexOfControlChars("\t") == 0 indexOfControlChars(" ") == -1 indexOfControlChars("a") == -1 indexOfControlChars(".") == -1 indexOfControlChars(";\n") == 1 indexOfControlChars("abc\f") == 3 indexOfControlChars("z\010") == 1 indexOfControlChars(":") == 1- Parameters:
str- the string to test.- Returns:
- the index of first control character in string, -1 if no control characters encountered
-
isBlank
Test if a string is null or only has whitespace characters in it.Note: uses codepoint version of
Character.isWhitespace(int)to support Unicode better.isBlank(null) == true isBlank("") == true isBlank("\r\n") == true isBlank("\t") == true isBlank(" ") == true isBlank("a") == false isBlank(".") == false isBlank(";\n") == false- Parameters:
str- the string to test.- Returns:
- true if string is null or only whitespace characters, false if non-whitespace characters encountered.
-
isEmpty
Checks if a String is empty ("") or null.
isEmpty(null) == true isEmpty("") == true isEmpty("\r\n") == false isEmpty("\t") == false isEmpty(" ") == false isEmpty("a") == false isEmpty(".") == false isEmpty(";\n") == false- Parameters:
str- the string to test.- Returns:
- true if string is null or empty.
-
getLength
Get the length of a string where a null string is length 0.- Parameters:
s- the string.- Returns:
- the length of the string.
-
isNotBlank
Test if a string is not null and contains at least 1 non-whitespace characters in it.Note: uses codepoint version of
Character.isWhitespace(int)to support Unicode better.isNotBlank(null) == false isNotBlank("") == false isNotBlank("\r\n") == false isNotBlank("\t") == false isNotBlank(" ") == false isNotBlank("a") == true isNotBlank(".") == true isNotBlank(";\n") == true- Parameters:
str- the string to test.- Returns:
- true if string is not null and has at least 1 non-whitespace character, false if null or all-whitespace characters.
-
isUTF8
-
isHex
-
fromHexString
-
toHexString
-
toHexString
-
toHexString
-
printable
-
printable
-
getBytes
-
getBytes
-
getUtf8Bytes
-
toInt
Convert String to an integer. Parses up to the first non-numeric character. If no number is found an IllegalArgumentException is thrown- Parameters:
string- A String containing an integer.from- The index to start parsing from- Returns:
- an int
-
toLong
Convert String to an long. Parses up to the first non-numeric character. If no number is found an IllegalArgumentException is thrown- Parameters:
string- A String containing an integer.- Returns:
- an int
-
truncate
Truncate a string to a max size.- Parameters:
str- the string to possibly truncatemaxSize- the maximum size of the string- Returns:
- the truncated string. if
strparam is null, then the returned string will also be null.
-
arrayFromString
Parse the string representation of a list usingcsvSplit(List, String, int, int)- Parameters:
s- The string to parse, expected to be enclosed as '[...]'- Returns:
- An array of parsed values.
-
csvSplit
Parse a CSV string usingcsvSplit(List, String, int, int)- Parameters:
s- The string to parse- Returns:
- An array of parsed values.
-
csvSplit
Parse a CSV string usingcsvSplit(List, String, int, int)- Parameters:
s- The string to parseoff- The offset into the string to start parsinglen- The len in characters to parse- Returns:
- An array of parsed values.
-
csvSplit
Split a quoted comma separated string to a listHandle rfc4180-like CSV strings, with the exceptions:
- quoted values may contain double quotes escaped with back-slash
- Non-quoted values are trimmed of leading trailing white space
- trailing commas are ignored
- double commas result in a empty string value
- Parameters:
list- The Collection to split to (or null to get a new list)s- The string to parseoff- The offset into the string to start parsinglen- The len in characters to parse- Returns:
- list containing the parsed list values
-
sanitizeXmlString
-
strip
-
valueOf
The String value of an ObjectThis method calls
String.valueOf(Object)unless the object is null, in which case null is returned- Parameters:
object- The object- Returns:
- String value or null
-
String(byte[], int, int, Charset)instead