Package org.cip4.jdflib.util
Class StringUtil
java.lang.Object
org.cip4.jdflib.util.StringUtil
collection of static string utilities
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classclass that provides additional functionality for replacing string -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic Stringreplace a token in a stringstatic intstatic implementation of compare for any comparable object that gracefully handles null
null is always the smalleststatic intcompareTo(double d1, double d2) return -1 if d1 < d2 , 0 if d1==d2 ; +1 if d1>d2 are within a range of epsilon or close enough to be serialized identicallystatic Stringstatic voidconcatStrings(VString vS, String appendString) add the string appendString to all Strings in VString vsstatic Stringcreate a string from an input streamstatic booleanreturn true if a equals b or both are null or ""static booleansimple comparison of strings with some heuristicsstatic byte[]escape(byte[] a_toEscape, String strCharSet, String strEscapeChar, int iRadix, int iEscapeLen, int iEscapeBelow, int iEscapeAbove) escape a string by prepending escapeChar and a numerical representation of the string.static Stringescape(String strToEscape, String strCharSet, String strEscapeChar, int iRadix, int iEscapeLen, int iEscapeBelow, int iEscapeAbove) escape a string by prepending escapeChar and a numerical representation of the string.static StringDeprecated.use URLUtil.extensionstatic StringDeprecated.use UrlUtil.fileToUrl(f, b);static intfind_last_not_of(String strWork, String strNotList) find the last character in strwork that is not in strNotListstatic StringformatDouble(double d) returns a formatted double.static StringformatDouble(double value, int precision) returns a formatted double.static StringformatInteger(int i) returns a formatted integer, replaces string constants with according int constantsstatic StringformatLong(long i) returns a formatted integer, replaces string constants with according int constantsstatic CharsetgetCharset(String csName) static org.cip4.jdflib.util.StringUtil.EDataTypestatic StringgetDefaultNull(String s, String def) return null if s==null or s==def, else s
used e.g.static intgetDistance(String s1, String s2, boolean normalize, boolean ignoreCase, boolean ignoreEmpty) return the Levenschtein ditance where null is treated as ""static intgetDistance(String s1, String s2, boolean normalize, boolean ignoreCase, boolean ignoreEmpty, boolean reduceSubstring) static Vector<ValuedEnum>getEnumsVector(Class<? extends ValuedEnum> e) Deprecated.use @se EnumUtil.getEnumsVectorstatic byte[]getHexBinaryBytes(byte[] unicodeArray) Decode a HexBinary encoded byte array back to Unicodestatic VStringgetNamesVector(Class<? extends ValuedEnum> e) Deprecated.use @see EnumUtil.getNamesVectorstatic Stringreturn null if s==null or s=="", else s
used e.g.static Stringreturns a random string for testing fun stuff - similar to unix fortune but biased towards monty python or the hitchhikers guide to the galaxystatic byte[]getRawBytes(String strUnicode) get the raw bytes specified in strUnicode, bypassing all transcoders
any character values above 255 is truncated (c=c&0xff)static StringgetRelativePath(File f, File fCWD) Deprecated.use URLUtil.getRelativePath(f, fCWD);static StringgetRelativeURL(File f, File baseDir) Deprecated.use getRelativeURL(File f, File fCWD, boolean bEscape128)static StringgetRelativeURL(File f, File baseDir, boolean bEscape128) Deprecated.use URLUtil.getRelativeURLstatic byte[]getUTF8Bytes(String strUnicode) return the UTF8 StringstrUnicodeas Unicode byte arraystatic StringgetUTF8String(byte[] utf8) get the unicode string representing the UTF8 representation of the byte buffer fall back on default encoding in case someone accidentally sends in non utf-8static booleanhasContent(String s) return false if s==null or s has only whotespacestatic booleancheck whether a vector of Strings contains a given tokenstatic booleanDeprecated.use the 4 parameter versionstatic booleancheck whether a String contains a given tokenstatic intstatic intindexOfToken(String strWork, String token, String delim, int start) index of a token in a stringstatic Stringstatic booleanchecks whether a string matches the boolean values "true" or "false"static booleanchecks whether a string matches the boolean values "true" or "false"static booleanreturn true if s==null or s==""static booleanisEmpty(Collection<String> v) are we null or empty or contain only an empty JDFAttributeMapstatic booleanisEqual(double d1, double d2) return true if d1 and d2 are within a range of epsilon or close enough to be serialized identicallystatic booleanisEqual(double d1, double d2, double delta) return true if d1 and d2 are within a range of epsilon or close enough to be serialized identicallystatic booleanchecks whether a string is an IDstatic booleanchecks whetherstrreprents an integerstatic booleanchecks whetherstrreprents an integerstatic booleanchecks whether a string is a NMTOKENstatic booleanisNMTOKENS(String strWork) checks whether a string is matches an NMTOKENS liststatic booleanisNMTOKENS(String strWork, boolean bID) checks whether a string is a NMTOKENS liststatic booleanchecks whether a string is a numberstatic booleanisNumberList(String strWork) checks whether a string matches the boolean values "true" or "false"static booleanDeprecated.use URLUtil.isUNC(pathName)static booleanisWindowsLocalPath(String pathName) Deprecated.use UrlUtil.isWindowsLocalPath(pathName);static Stringn > 0 substring(0, n) take the first n chars (leftmost) n < 0 substring(0, s.length()+n) take the string and cut n chars on the right example: string = "abcdefgh" string.leftStr( 2) = "ab" string.leftStr(-3) = "abcde"static intstatic booleanmatch a regular expression using String.matches(), but also catch exceptions does NOT handle simplified regexp.static booleanmatchesIgnoreCase(String str, String regExp) match a regular expression using ignoring cases using String.matches(), but also catch exceptions and handle simplified regexp.static booleanmatchesIgnoreCase(String str, String regExp, boolean alwaysSimple) match a regular expression using ignoring cases using String.matches(), but also catch exceptions and handle simplified regexp.static booleanmatchesSimple(String str, String regExp) match a regular expression using String.matches(), but also catch exceptions and handle simplified regexp.static booleanmatchesSimple(String str, String regExp, boolean alwaysSimple) match a regular expression using String.matches(), but also catch exceptions and handle simplified regexp.static StringDeprecated.use MimeUtil.getMimeTypeFromExt(strWork);static StringnewExtension(String strWork, String newExt) Deprecated.use UrlUtil.newExtensionstatic Stringnormalize a string by stripping and converting any internal whitespace to a single blankstatic Stringnormalize a string by stripping and converting any internal whitespace to a single blankstatic Stringnormalize a string by stripping and converting any internal whitespace to the value of replacestatic StringnormalizeASCII(String urlString) static intnumSubstrings(String strWork, String subString) counts the number of occurrences of subString in String the total number of occurrences is counted, e.g "aaa" contains "aa" twicestatic booleanparseBoolean(String s, boolean def) parses a string to boolean and catches any format exception "1" and "0" are treated as true and false respectivelystatic doubleparseDouble(String s, double def) parses a string to double and catches any format exceptionstatic intparses a string to integer and catches any format exceptionstatic longparses a string to long and catches any format exceptionstatic StringpathToName(String pathName) gets the file name from a path - regardless of the OS syntax that the path is declared instatic intposOfToken(String strWork, String name, String separator, int iSkip) returns the position of the token, if it is in the String.
The separator is excluded from the tokens.static StringDeprecated.use UrlUtil.prefix(strWork);static StringremoveToken(String strWork, int index, String delim) replace a token in a stringstatic StringremoveToken(String strWork, String oldToken, String delim) static StringreplaceChar(String strWork, char c, String replaceString, int offset) replace multiple occurrences of a character in a given Stringstatic StringreplaceCharSet(String strWork, String charSet, String replaceString, int offset) replace any of a set of characters in a given Stringstatic StringreplaceString(String strWork, String toReplace, String replaceBy) replace a string in a given String if the replacement string is contained by the string to replace, recursively replace until no ocurrences of the original remain thus replaceString("a000000", "00", "0") will return "a0" rather than "a000"static StringreplaceToken(String strWork, int index, String delim, String newToken) replace a token in a stringstatic StringreplaceToken(String strWork, String oldToken, String delim, String newToken) static Stringget the end of a string n > 0 str.substring(str.length() - n) take the rightmost n chars n < 0 substring(-n) take the string and cut n chars on the left example: string = "abcdefgh" string.rightStr( 2) = "gh" string.rightStr(-3) = "defgh"static StringsetHexBinaryBytes(byte[] buffer, int len) get buffer as HexBinary
any character values above 255 is truncatedstatic StringsetRawBytes(byte[] buffer, int len) set a string to the raw bytes specified in buffer, bypassing all transcodersstatic byte[]setUTF8String(String strUnicode) Deprecated.use getUTF8Bytes insteadstatic StringsetvString(String[] a, String sep, String front, String back) create a string from an array of tokensstatic StringsetvString(List<?> v) create a string from a vector of tokensstatic StringsetvString(List<?> v, String sep, String front, String back) create a string from a vector of tokensstatic StringsimpleRegExptoRegExp(String simpleRegExp) converts a simple regexp to a real regexp
* --> (.*) (any # of chars)
.static StringsimpleRegExptoRegExp(String simpleRegExp, boolean alwaysSimple) converts a simple regexp to a real regexp
* --> (.*) (any # of chars)
.static Stringformat a string using C++ sprintf functionalitystatic Stringformat a string using C++ sprintf functionalitystatic Stringstatic Stringreturns a new string that has all characters stripped from work that are not in keepCharsstatic StringstripPrefix(String str, String prefix, boolean bIgnoreCase) strip a prefix, if it is there else return the stringstatic StringstripQuote(String str, String quote, boolean bTrim) strip leading and trailing quotes from a stringstatic Stringsimilar to substring but also null safe and allowing negative numbers to count backwardsstatic Stringget a single token from a Stringstatic VStringreturn a vector of individual tokens
Multiple consecutive delimitors are treated as one (similar to whitespace handling).constructs a VString by tokenizing a stringstatic VStringtokenizeBrackets(String strWork, char delimIn, char delimOut) tokenize while counting the referenced in and out so that internal tokens are skipped used e.g for "?:" of "()"static Stringreturns a new string that has all characters trimmed from the front and back of work that are not in trimCharsstatic StringConvert a UNC path to a valid file URL or IRL note that some internal functions use network protocol and therefor performance may be non-optimalstatic StringunderToCamel(String toConvert) static byte[]unescape a String which was escaped with the Java StringUtil.escape methodstatic Stringunescape a String which was escaped with the Java StringUtil.escape methodstatic StringDeprecated.use vs.getString(" ",null,null)static StringwipeInvalidXML10Chars(String strText, String replace) replaces all chars that are not compatible with xml1.0static Stringwrite to a filestatic StringxmlNameEscape(String strWork) static StringxmlNameSpace(String strWork) Deprecated.060314 use KElement.xmlnsprefixstatic StringzappTokenWS(String str, String delim) Returns a string with deleted whitespaces near 'delim' and from the both ends of the string (if they were there)
tokenizes a given string 'str' into tokens without separators.
-
Field Details
-
UTF8
-
m_URIEscape
Deprecated.useUrlUtil.m_URIEscape- See Also:
-
-
Method Details
-
getRandomString
returns a random string for testing fun stuff - similar to unix fortune but biased towards monty python or the hitchhikers guide to the galaxy- Returns:
- a random string
-
zappTokenWS
Returns a string with deleted whitespaces near 'delim' and from the both ends of the string (if they were there)
tokenizes a given string 'str' into tokens without separators. Trims every token from both sides to remove the whitespaces and builds a new string from these tokens separated by 'delim'.- Parameters:
str- working stringdelim- the delimiter- Returns:
- String - the modified string
-
write2String
write to a file- Parameters:
file- the file to writew- the writer to write to- Returns:
- the file that was created, null if snafu
-
sprintf
format a string using C++ sprintf functionality- Parameters:
format- the format to print, see C++ spec for detailstemplate- - comma separated string - the values are parsed and the appropriate objects are created more objects exist in template than the number of '%' tokens in format, the remainder of objects is ignored duplicate '\\,' is taken as literal ','- Returns:
- String the formatted string
- Throws:
IllegalArgumentException- in case format and o do not match, i.e. not enough objects are passed to fill format
-
sprintf
-
sprintf
format a string using C++ sprintf functionality- Parameters:
format- the format to print, see C++ spec for detailsobjects- the array of objects, either String, Double, Integer or ValuedEnum, if objects is longer than the number of '%' tokens in format, the remainder of objects is ignored The method works fairly loosely typed, thus doubles are printed as integers, Strings are converted to numbers, if possible etc.- Returns:
- String the formatted string
- Throws:
IllegalArgumentException- in case format and o do not match, i.e. not eough objects are passed to fill format
-
setvString
create a string from an array of tokens- Parameters:
a- the token arraysep- the separator between the tokensfront- the front end of the stringback- the back end of the string- Returns:
- String - the vector as String default: setvString(v, JDFConstants.BLANK, null, null)
-
setvString
create a string from a vector of tokensdefault: setvString(v, JDFConstants.BLANK, null, null)
- Parameters:
v- the token vector- Returns:
- String - the vector as String
-
setvString
create a string from a vector of tokens- Parameters:
v- the token vectorsep- the separator between the tokensfront- the front end of the stringback- the back end of the string- Returns:
- String - the vector as String default: setvString(v, JDFConstants.BLANK, null, null)
-
leftStr
n > 0 substring(0, n) take the first n chars (leftmost) n < 0 substring(0, s.length()+n) take the string and cut n chars on the right example: string = "abcdefgh" string.leftStr( 2) = "ab" string.leftStr(-3) = "abcde"- Parameters:
strWork- the string to work onn- number of characters to cut (negative) or retain (positive)- Returns:
- the modified string
-
substring
similar to substring but also null safe and allowing negative numbers to count backwards- Parameters:
strWork- the string to work onfirst- the position of the starting character 0=firstlast- the position of the end character 0=last- Returns:
- the modified string
-
rightStr
get the end of a string n > 0 str.substring(str.length() - n) take the rightmost n chars n < 0 substring(-n) take the string and cut n chars on the left example: string = "abcdefgh" string.rightStr( 2) = "gh" string.rightStr(-3) = "defgh"- Parameters:
strWork- the string to work onn- number of characters to cut (negative) or retain (positive)- Returns:
- the modified string
-
tokenize
return a vector of individual tokens
Multiple consecutive delimitors are treated as one (similar to whitespace handling).default: tokenize(strWork, delim, false)
- Parameters:
strWork- the string to tokenizedelim- the delimiter, if null use whitespacedelim2token- should a delimiter be a token?- Returns:
- the vector of strings - never null
-
tokenize
constructs a VString by tokenizing a string- Parameters:
strIn- the string to tokenizestrSep- the list of separator characters - null if whitespace
-
tokenizeBrackets
tokenize while counting the referenced in and out so that internal tokens are skipped used e.g for "?:" of "()"- Parameters:
strWork-delimIn- thedelimOut-- Returns:
-
hasToken
check whether a String contains a given tokendefault: hasToken(strWork, token, delim, 0)
- Parameters:
strWork- the string to work ontoken- the token to search fordelim- the delimiter of the tokensiSkip- the number of matching tokens to skip before returning true- Returns:
- boolean - true if
strWorkcontainstoken
-
hasToken
check whether a vector of Strings contains a given tokendefault: hasToken(strWork, token, 0)
- Parameters:
strWork- the vector of strings string to work ontoken- the token to search foriSkip- the number of matching tokens to skip before returning true- Returns:
- true, if
strWorkcontainstoken
-
addToken
replace a token in a string- Parameters:
strWork- the String to work ondelim- the delimiternewToken- the new token, if null said token is removed- Returns:
- the modified string
-
removeToken
replace a token in a string- Parameters:
strWork- the String to work onindex- index of the token to replace if<0 return from end (e.g. -1 is the last token)delim- the delimiter- Returns:
- the modified string, null if last token was removed
-
replaceToken
- Parameters:
strWork-oldToken-delim-newToken-- Returns:
-
removeToken
- Parameters:
strWork-oldToken-delim-newToken-- Returns:
-
replaceToken
replace a token in a string- Parameters:
strWork- the String to work onindex- index of the token to replace if<0 return from end (e.g. -1 is the last token)delim- the delimiternewToken- the new token, if null said token is removed- Returns:
- the modified string - never null
-
token
get a single token from a String default: Token(strWork, index," \t\n")- Parameters:
strWork- the String to work onindex- index of the token to return
if<0 return from end (e.g. -1 is the last token)delim- the delimiter- Returns:
- the single token (
nullif no token found)
-
replaceCharSet
public static String replaceCharSet(String strWork, String charSet, String replaceString, int offset) replace any of a set of characters in a given Stringdefault: replaceCharSet(strWork, c, s, 0)
- Parameters:
strWork- String to work oncharSet- characters to replacereplaceString- String to insert for any character in charSet, if null simply remove all occurrences of any char in charSetoffset- where to start replacing- Returns:
- the String with replaced characters
-
replaceChar
replace multiple occurrences of a character in a given Stringdefault: replaceChar(strWork, c, s, 0)
- Parameters:
strWork- String to work onc- character to replacereplaceString- String to insert for c, if null simply remove coffset-- Returns:
- the String with replaced characters
-
replaceString
replace a string in a given String if the replacement string is contained by the string to replace, recursively replace until no ocurrences of the original remain thus replaceString("a000000", "00", "0") will return "a0" rather than "a000"- Parameters:
strWork- String to work ontoReplace- String to match and replacereplaceBy- String to insert for toReplace, null if nothing should be inserted- Returns:
- the String with replaced characters
-
xmlNameEscape
- Parameters:
strWork-- Returns:
- the escaped string
-
extension
Deprecated.use URLUtil.extensionthe filename extension of pathName- Parameters:
pathName-- Returns:
-
prefix
Deprecated.use UrlUtil.prefix(strWork);inverse of extension- Parameters:
strWork- the string to work on- Returns:
- the prefix
-
normalize
normalize a string by stripping and converting any internal whitespace to a single blank- Parameters:
strWork- the inputtoLower- if true return all lower case- Returns:
- the output; null if all characters were removed
-
normalize
normalize a string by stripping and converting any internal whitespace to a single blank- Parameters:
strWork- the input- Returns:
- the output; null if all characters were removed
-
normalize
normalize a string by stripping and converting any internal whitespace to the value of replace- Parameters:
strWork- the inputtoLower- if true return all lower casereplace- the replace character, if null remove all whitespace- Returns:
- the output; null if all characters were removed
-
getDefaultNull
return null if s==null or s==def, else s
used e.g. to zapp "" strings- Parameters:
s- the String to testdef- the default that is converted to null- Returns:
- the converted String
-
getDistance
public static int getDistance(String s1, String s2, boolean normalize, boolean ignoreCase, boolean ignoreEmpty, boolean reduceSubstring) - Parameters:
s1-s2-normalize-ignoreCase-ignoreEmpty-reduceSubstring- if true slide over the string and check only the substring- Returns:
-
length
-
getDistance
public static int getDistance(String s1, String s2, boolean normalize, boolean ignoreCase, boolean ignoreEmpty) return the Levenschtein ditance where null is treated as ""- Parameters:
s1-s2-normalize- if true, normalize strings prior to calculatingignoreCase- if true, ignore case strings when calculatingignoreEmpty- if true, the result is 0 if one of the two strings is null or ""- Returns:
- the Levenshtein distance
-
getNonEmpty
return null if s==null or s=="", else s
used e.g. to zapp "" strings- Parameters:
s- the String to test- Returns:
- the converted String
-
isEmpty
return true if s==null or s==""- Parameters:
s-- Returns:
-
isEmpty
are we null or empty or contain only an empty JDFAttributeMap- Parameters:
v-- Returns:
-
hasContent
return false if s==null or s has only whotespace- Parameters:
s-- Returns:
-
newExtension
Deprecated.use UrlUtil.newExtensionreplace the .extension of a file name- Parameters:
strWork- the file pathnewExt- the new extension (works with or without the initial "."- Returns:
- the strWork with a replaced extension
-
xmlNameSpace
Deprecated.060314 use KElement.xmlnsprefix- Parameters:
strWork-- Returns:
- String
-
mime
Deprecated.use MimeUtil.getMimeTypeFromExt(strWork);get the mime type for a given extension- Parameters:
strWork- String to work in- Returns:
- the mime type
-
isNMTOKEN
checks whether a string is a NMTOKEN- Parameters:
strWork- the string to check- Returns:
- boolean - true if strWork is a NMTOKEN
-
isID
checks whether a string is an ID- Parameters:
strWork- the string to check- Returns:
- boolean - true if strWork is an ID
-
isEqual
public static boolean isEqual(double d1, double d2) return true if d1 and d2 are within a range of epsilon or close enough to be serialized identically- Parameters:
d1-d2-- Returns:
- true if (almost) identical
-
isEqual
public static boolean isEqual(double d1, double d2, double delta) return true if d1 and d2 are within a range of epsilon or close enough to be serialized identically- Parameters:
d1-d2-- Returns:
- true if (almost) identical
-
compareTo
public static int compareTo(double d1, double d2) return -1 if d1 < d2 , 0 if d1==d2 ; +1 if d1>d2 are within a range of epsilon or close enough to be serialized identically- Parameters:
d1-d2-- Returns:
- int 1,0 or -1
-
compare
static implementation of compare for any comparable object that gracefully handles null
null is always the smallest- Parameters:
c0-c1-- Returns:
- -1 if c0 < c1, 0 if equal, 1 if c0 > c1;
-
isNMTOKENS
checks whether a string is matches an NMTOKENS list- Parameters:
strWork- the string to check- Returns:
- boolean - true if strWork is an NMTOKENS list
-
isNMTOKENS
checks whether a string is a NMTOKENS list- Parameters:
strWork- the string to checkbID- if true, also check that each individual token matches the pattern for an ID- Returns:
- boolean true if strWork is a NMTOKENS list
-
isBoolean
checks whether a string matches the boolean values "true" or "false"- Parameters:
strWork- the string to check- Returns:
- boolean true if strWork is represents boolean value
-
isDate
checks whether a string matches the boolean values "true" or "false"- Parameters:
strWork- the string to check- Returns:
- boolean true if strWork is represents boolean value
-
isNumberList
checks whether a string matches the boolean values "true" or "false"- Parameters:
strWork- the string to check- Returns:
- boolean true if strWork is represents boolean value
-
getCharset
- Parameters:
csName-- Returns:
-
getDataType
- Parameters:
s-- Returns:
- null if nulkl, else the datatype
-
isNumber
checks whether a string is a number- Parameters:
str- the string to check- Returns:
- boolean true if strWork is a number
-
wipeInvalidXML10Chars
replaces all chars that are not compatible with xml1.0- Parameters:
strText- the text to checkreplace- the single char string to replace non xml chars with; if null the non-xml char is simply omitted- Returns:
- the clean string, may be the same string
-
find_last_not_of
find the last character in strwork that is not in strNotList- Parameters:
strWork- the string to searchstrNotList- the list of characters to ignore- Returns:
- position of the last matching char, -1 if all strWork only contains chars from strNotList
-
posOfToken
returns the position of the token, if it is in the String.
The separator is excluded from the tokens. Multiple consecutive separators are treated as one (similar to whitespace handling).- Parameters:
strWork- the string to work onname- the token to searchseparator- separatoriSkip- number of tokens to skip before accepting (if 0 -> take the first etc., -1 -> first as well)- Returns:
- int - 0 based position if the token exists, else -1
-
hasToken
Deprecated.use the 4 parameter versioncheck whether a string contains a complete tokendefault: hasToken(strWork, token, delim)
- Parameters:
strWork- the string to work ontoken- the token to search fordelim- the delimiter of the tokens- Returns:
- boolean -
-
indexOfToken
index of a token in a string- Parameters:
strWork- the string to work ontoken- the token to search fordelim- the delimiter of the tokensstart- position to search in the string- Returns:
-
numSubstrings
counts the number of occurrences of subString in String the total number of occurrences is counted, e.g "aaa" contains "aa" twice- Parameters:
strWork-subString-- Returns:
- the number of occurrences
-
setRawBytes
set a string to the raw bytes specified in buffer, bypassing all transcoders- Parameters:
buffer- the buffer to assign tothislen-- Returns:
- the raw string
-
getRawBytes
get the raw bytes specified in strUnicode, bypassing all transcoders
any character values above 255 is truncated (c=c&0xff)- Parameters:
strUnicode- the unicode string- Returns:
- char array of the raw bytes assigned to this
-
setHexBinaryBytes
get buffer as HexBinary
any character values above 255 is truncated- Parameters:
buffer- the String which you want to encode to HexBinarylen- the length of the buffer.
If<0, default is -1. In this case the length of the char array will be used.- Returns:
- the hexbinary representation
-
getHexBinaryBytes
public static byte[] getHexBinaryBytes(byte[] unicodeArray) Decode a HexBinary encoded byte array back to Unicode- Parameters:
unicodeArray- array which stores the HexBinary- Returns:
- array of byte holding the unicode chars
-
getUTF8Bytes
return the UTF8 StringstrUnicodeas Unicode byte array- Parameters:
strUnicode- the unicode string to transcode to utf8- Returns:
- a byte array[] representing the utf-8 code of the input string,
nullif an error occurred
-
setUTF8String
Deprecated.use getUTF8Bytes instead- Parameters:
strUnicode-- Returns:
-
getUTF8String
get the unicode string representing the UTF8 representation of the byte buffer fall back on default encoding in case someone accidentally sends in non utf-8- Parameters:
utf8- the utf-8 encoded byte array- Returns:
- String - the unicode string representation of the utf8 bytes assigned to this,
nullif an error occurrred
-
formatDouble
returns a formatted double. Truncates to 8 digits after the "."
If the double is representable as an integer, any ".0" is stripped.- Parameters:
d- the double to format- Returns:
- the formatted string that represents d TBD handle exp format
-
formatInteger
returns a formatted integer, replaces string constants with according int constants- Parameters:
i- the integer to format- Returns:
- the formatted string that represents i
-
formatLong
returns a formatted integer, replaces string constants with according int constants- Parameters:
i- the integer to format- Returns:
- the formatted string that represents i
-
isInteger
checks whetherstrreprents an integer- Parameters:
str- the String to check- Returns:
- boolean - true if the string represents an integer number
-
isLong
checks whetherstrreprents an integer- Parameters:
str- the String to check- Returns:
- boolean - true if the string represents an integer number
-
escape
public static String escape(String strToEscape, String strCharSet, String strEscapeChar, int iRadix, int iEscapeLen, int iEscapeBelow, int iEscapeAbove) escape a string by prepending escapeChar and a numerical representation of the string. Characters to be escaped are defined by toEscape, escapeBelow and escapeAbovedefault: escape(String toEscape, null, 0, 0, 0, 256); //Note that an escaped character can't be unescaped without the knowledge of the escapelength
- Parameters:
strToEscape- the String to escapestrCharSet- the set of characters that should be escaped eg "äöüß$€"strEscapeChar- the character sequence that marks an escape sequence. Ifnull, "\\" is usediRadix- the numerical representation base of the escaped chars, e.g. 8 for octal, 16 for hex
if radix == 0 the escape char is merely inserted in front of the char to escape
if radix <0 the escape char is replaced by the prefix
valid radix: -1,0,2,8,10,16iEscapeLen- the number of digits per escaped char, not including escapeChariEscapeBelow- all characters with an encoding below escapeBelow should also be escaped, if negative, no lower limit appliesiEscapeAbove- all characters with an encoding above escapeAbove should also be escaped, if negative, no upper limit applies- Returns:
- the string where all required sequences have been replaced by their escaped representation
-
equals
return true if a equals b or both are null or ""- Parameters:
a- String to compareb- String to compare- Returns:
- boolean true if a equals b or both are one of null or ""
-
escape
public static byte[] escape(byte[] a_toEscape, String strCharSet, String strEscapeChar, int iRadix, int iEscapeLen, int iEscapeBelow, int iEscapeAbove) escape a string by prepending escapeChar and a numerical representation of the string. Characters to be escaped are defined by toEscape, escapeBelow and escapeAbovedefault: escape(String toEscape, null, 0, 0, 0, 256); //Note that an escaped character can't be unescaped without the knowledge of the escapelength
- Parameters:
a_toEscape- the bytes to escapestrCharSet- the set of characters that should be escaped eg "äöüß$€"strEscapeChar- the character sequence that marks an escape sequence. Ifnull, "\\" is usediRadix- the numerical representation base of the escaped chars, e.g. 8 for octal, 16 for hex
if radix == 0 the escape char is merely inserted in front of the char to escape
if radix <0 the escape char is replaced by the prefix
valid radix: -1,0,2,8,10,16iEscapeLen- the number of digits per escaped char, not including escapeChariEscapeBelow- all characters with an encoding below escapeBelow should also be escaped, if negative, no lower limit appliesiEscapeAbove- all characters with an encoding above escapeAbove should also be escaped, if negative, no upper limit applies- Returns:
- the string where all illegal sequences have been replaced by their escaped representation
-
unEscape
public static String unEscape(String strToUnescape, String strEscapeChar, int iRadix, int escapeLen) unescape a String which was escaped with the Java StringUtil.escape method- Parameters:
strToUnescape- the String to unescape. For examplezz\d6\zzz\c4\\dc\z\d6\\24\\3f\zz@zstrEscapeChar- the char which indicates a escape sequence "\\" in this case (thats also the default)iRadix- the radix of the escape sequenze. 16 in this example.escapeLen- the number of digits per escaped char, not including strEscapeChar- Returns:
- the unescaped String.
-
unEscape
unescape a String which was escaped with the Java StringUtil.escape method- Parameters:
byteUnEscape- the bytes to unescape. For examplezz\d6\zzz\c4\\dc\z\d6\\24\\3f\zz�zstrEscapeChar- the char which indicates a escape sequence "\\" in this case (thats also the default)iRadix- the radix of the escape sequenze. 16 in this example.escapeLen- the number of digits per escaped char, not including strEscapeChar- Returns:
- the unescaped byte array.
zz�zzz��z�$?zz�zin this example
-
vStringToString
Deprecated.use vs.getString(" ",null,null)converts a VString to a single string represents all members of the VString concatenated together- Parameters:
vs-- Returns:
- String - the unicode string representation of the utf8 bytes assigned to this, null if an error occurrred
-
parseDouble
parses a string to double and catches any format exception- Parameters:
s- the string to parsedef- the default to return in case of error- Returns:
- the parsed double of s
- Since:
- 080404 handles "" gracefully
-
parseBoolean
parses a string to boolean and catches any format exception "1" and "0" are treated as true and false respectively- Parameters:
s- the string to parsedef- the default to return in case of error- Returns:
- the parsed boolean of s
- Since:
- 080404 handles "" gracefully
-
parseInt
parses a string to integer and catches any format exception- Parameters:
s- the string to parsedef- the default to return in case of error- Returns:
- the parsed double of s
- Since:
- 080404 handles "" gracefully
-
parseLong
parses a string to long and catches any format exception- Parameters:
s- the string to parsedef- the default to return in case of error- Returns:
- the parsed double of s
- Since:
- 080404 handles "" gracefully
-
uncToUrl
Convert a UNC path to a valid file URL or IRL note that some internal functions use network protocol and therefor performance may be non-optimal- Parameters:
unc- The UNC string to parse, may also be used for local charactersbEscape128- if true, escape non -ascii chars (URI), if false, don't (IRI)- Returns:
- the URL string
-
pathToName
gets the file name from a path - regardless of the OS syntax that the path is declared in- Parameters:
pathName-- Returns:
-
underToCamel
-
isWindowsLocalPath
Deprecated.use UrlUtil.isWindowsLocalPath(pathName);- Parameters:
pathName-- Returns:
-
isUNC
Deprecated.use URLUtil.isUNC(pathName)- Parameters:
pathName-- Returns:
-
simpleRegExptoRegExp
converts a simple regexp to a real regexp
* --> (.*) (any # of chars)
. --> \. (literal ".")
? --> . (exactly one character) if one of ([|\ is found in the expression we assume it is a real regexp that has already been converted- Parameters:
simpleRegExp- the simple regexp- Returns:
- the converted real regexp
-
simpleRegExptoRegExp
converts a simple regexp to a real regexp
* --> (.*) (any # of chars)
. --> \. (literal ".")
? --> . (exactly one character) if not alwaysSimple one of ([|\ is found in the expression we assume it is a real regexp that has already been converted- Parameters:
simpleRegExp- the simple regexpalwaysSimple-- Returns:
- the converted real regexp
-
matchesSimple
match a regular expression using String.matches(), but also catch exceptions and handle simplified regexp. Thenullexpression is assumed to match anything.- Parameters:
str- the string to matchregExp- the expression to match against- Returns:
- true, if str matches regExp or regexp is empty
-
matchesSimple
match a regular expression using String.matches(), but also catch exceptions and handle simplified regexp. Thenullexpression is assumed to match anything.- Parameters:
str- the string to matchregExp- the expression to match againstalwaysSimple- if true - always escape- Returns:
- true, if str matches regExp or regexp is empty
-
equals
simple comparison of strings with some heuristics- Parameters:
attribute-attribute2-delta- absolute delta of numeric values to be considered equal- Returns:
-
matches
match a regular expression using String.matches(), but also catch exceptions does NOT handle simplified regexp. Thenullexpression is assumed to match anything.- Parameters:
str- the string to matchregExp- the expression to match against- Returns:
- true, if str matches regExp or regexp is empty
-
matchesIgnoreCase
match a regular expression using ignoring cases using String.matches(), but also catch exceptions and handle simplified regexp. Thenullexpression is assumed to match anything.- Parameters:
str- the string to matchregExp- the simplified expression to match against- Returns:
- true, if str matches regExp or regexp is empty
-
matchesIgnoreCase
match a regular expression using ignoring cases using String.matches(), but also catch exceptions and handle simplified regexp. Thenullexpression is assumed to match anything.- Parameters:
str- the string to matchregExp- the simplified expression to match againstalwaysSimple- TODO- Returns:
- true, if str matches regExp or regexp is empty
-
concatStrings
add the string appendString to all Strings in VString vs- Parameters:
vS- the string vectorappendString- the string to append
-
concat
- Parameters:
s1-s2-delim-- Returns:
-
createString
create a string from an input stream- Parameters:
is- the input stream- Returns:
- the string representation
-
getRelativeURL
Deprecated.use getRelativeURL(File f, File fCWD, boolean bEscape128)returns the relative URL of a file relative to the current working directory- Parameters:
f- the file to get the relative url forbaseDir- the file that describes cwd, if null cwd is calculated- Returns:
-
getRelativeURL
Deprecated.use URLUtil.getRelativeURLreturns the relative URL of a file relative to the current workin directory- Parameters:
f- the file to get the relative url forbaseDir- the file that describes cwd, if null cwd is calculatedbEscape128- if true, escape > 128 (URL) else retain (IRL)- Returns:
-
getRelativePath
Deprecated.use URLUtil.getRelativePath(f, fCWD);returns the relative URL of a file relative to the current working directory
this includes escaping of %20 etc.- Parameters:
f- the file to get the relative path forfCWD- the file that describes cwd, ifnullcwd is calculated- Returns:
-
getNamesVector
Deprecated.use @see EnumUtil.getNamesVectorget a vector of names in an iteration- Parameters:
e- any member of the enum to iterate over- Returns:
- VString - the vector of enum names
-
getEnumsVector
Deprecated.use @se EnumUtil.getEnumsVectorget a vector of elements in an iteration- Parameters:
e- any member of the enum to iterate over- Returns:
- Vector - the vector of enum instances
-
fileToUrl
Deprecated.use UrlUtil.fileToUrl(f, b);- Parameters:
f-b-- Returns:
-
stripPrefix
strip a prefix, if it is there else return the string- Parameters:
str- the string to stripprefix- the prefix to stripbIgnoreCase- if true ignore the case of the prefix- Returns:
-
stripQuote
strip leading and trailing quotes from a string- Parameters:
str- the work stringquote- the quote characterbTrim- if true, trim whitespace prior to trimming quotes- Returns:
- the work string trimmed and trailing + leading quote chars removed
-
stripNot
returns a new string that has all characters stripped from work that are not in keepChars- Parameters:
work-keepChars-- Returns:
-
trim
returns a new string that has all characters trimmed from the front and back of work that are not in trimChars- Parameters:
work-trimChars- if null - use standard whitespace- Returns:
- null if no chars left
-
formatDouble
returns a formatted double. Truncates to @param precision digits after the "."
If the double is representable as an integer, any ".0" is stripped.- Parameters:
value-precision- number of digits after the "."- Returns:
-
index
- Parameters:
in-search-i-- Returns:
-
normalizeASCII
- Parameters:
urlString-- Returns:
-
intern
-
UrlUtil.m_URIEscape