Implements utility functions for the String class
Emphasis on performance and reduced memory allocation/garbage collection
in exchange for longer more complex code.
dequote
public static String dequote(String str,
char quote)
Undoubles the quotes inside the string
Example:
hello""world becomes hello"world
str
- input string to dequotequote
- the quoting char
dequote
public static String dequote(String str,
int begin,
int end,
char quote)
Undoubles the quotes inside a substring
Example:
hello""world becomes hello"world
WARNING: scan for quote may continue to the end of the string, make sure
that either
charAt(end + 1) == quote
or
end =
str.lentgth()
. If in doubt call
dequote(str.substring(begin, end), quote)
str
- input string from which to get the substring, must not be
nullbegin
- begin index for substringend
- end index for substringquote
- the quoting char
dequoteFull
public static String dequoteFull(String str,
char quote)
Removes the surrounding quote and any double quote inside the string
Example:
"hello""world" becomes hello"world
str
- input string to dequotequote
- the quoting char
dequoteFull
public static String dequoteFull(String str,
int begin,
int end,
char quote)
isFloatNoExponent
public static boolean isFloatNoExponent(String str)
Checks that the string represents a floating point number that CANNOT be
in exponential notation
str
- the string to check
isFloatWithOptionalExponent
public static boolean isFloatWithOptionalExponent(String str)
isInteger
public static boolean isInteger(String str)
isUnsignedInteger
public static boolean isUnsignedInteger(String str)
minIndex
public static int minIndex(int a,
int b)
Returns the minimum index >= 0, if any
Use to find the first of two characters in a string:
minIndex(s.indexOf('/'), indexOf('\'))
replace
public static String replace(String str,
String repl,
String with)
replace
public static String replace(String str,
char repl,
String with)
replace
public static StringBuffer replace(StringBuffer out,
String s,
String repl,
String with)
splitLongString
public static String[] splitLongString(String str,
char separator)
Split a string into an array of strings arround a character separator.
This function will be efficient for longer strings
str
- the string to be splitseparator
- the separator character
splitLongString
public static String[] splitLongString(String str,
char separator,
char quote)
Split a string into an array of strings arround a character separator.
Each element can be optionally quoted by the quote character.
This function will be efficient for long strings
str
- the string to be splitseparator
- the separator characterquote
- the quote character
splitShortString
public static String[] splitShortString(String str,
char separator)
Split a string into an array of strings arround a character separator.
This function will be efficient for short strings, for longer strings,
another approach may be better
str
- the string to be splitseparator
- the separator character
splitShortString
public static String[] splitShortString(String str,
char separator,
char quote)
Split a string into an array of strings arround a character separator.
Each element can be optionally quoted by the quote character.
This function will be efficient for short strings, for longer strings,
another approach may be better
str
- the string to be splitseparator
- the separator characterquote
- the quote character
substring
public static String substring(String str,
int begin,
int end)
trim
public static String[] trim(String[] strings)