public abstract class StringUtil
extends java.lang.Object
构造器和说明 |
---|
StringUtil() |
限定符和类型 | 方法和说明 |
---|---|
static java.lang.String[] |
addStringToArray(java.lang.String[] array,
java.lang.String str)
Append the given
String to the given String array,
returning a new array consisting of the input array contents plus
the given String . |
static java.lang.String |
applyRelativePath(java.lang.String path,
java.lang.String relativePath)
Apply the given relative path to the given Java resource path,
assuming standard Java folder separation (i.e. "/" separators).
|
static java.lang.String |
arrayToCommaDelimitedString(java.lang.Object[] arr)
Convert a
String array into a comma delimited String
(i.e., CSV). |
static java.lang.String |
arrayToDelimitedString(java.lang.Object[] arr,
java.lang.String delim)
Convert a
String array into a delimited String (e.g. |
static java.lang.String |
arrayToString(java.lang.String[] strs) |
static java.lang.String |
arrayToString(java.lang.String[] strs,
java.lang.String separator,
java.lang.String firstLastPrefix)
数组转化为字符串
|
static java.lang.String |
byteToHexString(byte[] bytes)
将byte转化为16进制
|
static java.lang.String |
byteToHexString(byte[] bytes,
int start,
int end)
将byte数据转化为16进制字符串
|
static java.lang.String |
capitalize(java.lang.String str)
Capitalize a
String , changing the first letter to
upper case as per Character.toUpperCase(char) . |
static boolean |
checkSequence(java.lang.String str)
判断输入是否有效
|
static java.lang.String |
cleanPath(java.lang.String path)
Normalize the path by suppressing sequences like "path/.." and
inner simple dots.
|
static java.lang.String |
collectionToCommaDelimitedString(java.util.Collection<?> coll)
Convert a
Collection into a delimited String (e.g., CSV). |
static java.lang.String |
collectionToDelimitedString(java.util.Collection<?> coll,
java.lang.String delim)
Convert a
Collection into a delimited String (e.g. |
static java.lang.String |
collectionToDelimitedString(java.util.Collection<?> coll,
java.lang.String delim,
java.lang.String prefix,
java.lang.String suffix)
Convert a
Collection to a delimited String (e.g. |
static java.util.Set<java.lang.String> |
commaDelimitedListToSet(java.lang.String str)
Convert a comma delimited list (e.g., a row from a CSV file) into a set.
|
static java.lang.String[] |
commaDelimitedListToStringArray(java.lang.String str)
Convert a comma delimited list (e.g., a row from a CSV file) into an
array of strings.
|
static java.lang.String[] |
concatenateStringArrays(java.lang.String[] array1,
java.lang.String[] array2)
Concatenate the given
String arrays into one,
with overlapping array elements included twice. |
static boolean |
containsWhitespace(java.lang.CharSequence str)
Check whether the given
CharSequence contains any whitespace characters. |
static boolean |
containsWhitespace(java.lang.String str)
Check whether the given
String contains any whitespace characters. |
static java.lang.Double |
convert2Double(java.lang.String str)
将字符串转化为Double对象
|
static java.lang.Integer |
convert2Integer(java.lang.String str)
将字符串转化为整形对象
|
static java.lang.Long |
convert2Long(java.lang.String str) |
static java.lang.String |
convertNull2Default(java.lang.String str,
java.lang.String defaultValue) |
static java.lang.String |
convertNull2Empty(java.lang.String str)
判断字符串是否为空
|
static int |
count(java.lang.CharSequence content,
char charForSearch)
统计指定内容中包含指定字符的数量
|
static int |
countOccurrencesOf(java.lang.String str,
java.lang.String sub)
Count the occurrences of the substring
sub in string str . |
static java.lang.String |
cutContent(java.lang.String str,
int len)
判断字符串是否超过指定长度的中文字符,超出则截取字符串返回,如果需要截取,则以...结尾
|
static java.lang.String |
cutContent(java.lang.String str,
int len,
java.lang.String end)
判断字符串是否超过指定长度的中文字符,超出则截取字符串返回
|
static java.lang.String |
decodeAES(java.lang.String estr)
解密字符串
|
static java.lang.String |
decodeCharacter(java.lang.String str) |
static java.lang.String |
decorateStringLikeArray(java.lang.String[] str,
java.lang.String left) |
static java.lang.String |
decorateStringLikeArray(java.lang.String[] array,
java.lang.String left,
java.lang.String right,
java.lang.String regex) |
static java.lang.String |
decorateStringLikeArray(java.lang.String str,
java.lang.String left)
修饰字符串
|
static java.lang.String |
decorateStringLikeArray(java.lang.String str,
java.lang.String left,
java.lang.String right,
java.lang.String regex)
修饰字符串
|
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 that is a delimited list and convert it into a
String array. |
static java.lang.String[] |
delimitedListToStringArray(java.lang.String str,
java.lang.String delimiter,
java.lang.String charsToDelete)
Take a
String that is a delimited list and convert it into
a String array. |
static java.lang.String |
encodeAES(java.lang.String str)
加密字符串
|
static java.lang.String |
encodeCharacter(java.lang.String str) |
static boolean |
endsWithIgnoreCase(java.lang.String str,
java.lang.String suffix)
Test if the given
String ends with the specified suffix,
ignoring upper/lower case. |
static boolean |
equals(java.lang.String str1,
java.lang.String str2)
判断两个字符串是否相等,包括同时为null
|
static java.lang.String |
escapeHTML(java.lang.String string)
Escapes HTML Special characters present in the string.
|
static java.lang.String |
format(java.lang.String str,
java.lang.Object... param)
格式化字符串
|
static java.util.List<java.lang.String> |
getArgList(java.lang.String... args)
将给定的参数组合成List对象
|
static java.lang.String |
getExceptionStackInfo(java.lang.Exception _ex) |
static java.lang.String |
getFilename(java.lang.String path)
Extract the filename from the given Java resource path,
e.g.
|
static java.lang.String |
getFilenameExtension(java.lang.String path)
Extract the filename extension from the given Java resource path,
|
static java.lang.String |
getGUID() |
static java.lang.String |
getLineSeparator() |
static java.lang.String |
getStackTrace(java.lang.Thread t)
获取指定线程中的堆栈信息
|
static int |
getWideCharCount(java.lang.String s)
字符串中包含的中文字符数
|
static int |
hashCode(java.lang.String str)
返回正数的hashCode值
|
static boolean |
hasLength(java.lang.CharSequence str) |
static boolean |
hasLength(java.lang.String str)
Check that the given
String is neither null nor of length 0. |
static boolean |
hasText(java.lang.CharSequence str) |
static boolean |
hasText(java.lang.String str)
Check whether the given
String contains actual text. |
static boolean |
hasUnicodeStr(java.lang.String str)
查找字符串是否存在中文字符
|
static byte[] |
hexStringToByte(java.lang.String hex)
将16进制的字符串还原为byte数组
|
static java.lang.String |
inputStream2String(java.io.InputStream is) |
static java.lang.String |
inputStream2String(java.io.InputStream is,
java.lang.String addEnter,
java.lang.String charset)
将字符中流转化为字符串
|
static boolean |
isBlank(java.lang.String str)
是否空字符串
|
static boolean |
isCharacter(java.lang.String str)
判断是否全为字母
|
static boolean |
isCharacterOrDigit(java.lang.String str)
判断字符串是否为数字或字母
|
static boolean |
isChinese(char c)
字符是否为汉字
|
static boolean |
isDigit(java.lang.String str)
判断是否数字
|
static boolean |
isEmpty(java.lang.Object str) |
static boolean |
isEmpty(java.lang.String str) |
static boolean |
isMessyCode(java.lang.String strName)
判断字符是否乱码
|
static boolean |
isNotBlank(java.lang.String str)
是否非空字符串
|
static boolean |
isNotEmpty(java.lang.String str) |
static boolean |
isStringHasWideChar(java.lang.String s)
如果至少有一个汉字,则返回真
|
static java.lang.String |
lpad(java.lang.String str,
int size,
char padStr)
如果str的长度小于size,则会在字符串的左边增加padStr字符串
|
static java.lang.String |
lpad(java.lang.String str,
int size,
java.lang.String padStr)
如果str的长度小于size,则会在字符串的左边增加padStr字符串
|
static void |
main(java.lang.String[] args) |
static java.lang.String[] |
mergeStringArrays(java.lang.String[] array1,
java.lang.String[] array2)
Merge the given
String arrays into one, with overlapping
array elements only included once. |
static java.lang.String |
nameBeautify(java.lang.String str)
命名美化,仅支持将_去掉并将下一个单词转化为首字母大写
|
static java.util.Locale |
parseLocaleString(java.lang.String localeString)
Parse the given
localeString value into a Locale . |
static java.util.TimeZone |
parseTimeZoneString(java.lang.String timeZoneString)
Parse the given
timeZoneString value into a TimeZone . |
static boolean |
pathEquals(java.lang.String path1,
java.lang.String path2)
Compare two paths after normalization of them.
|
static java.lang.String |
quote(java.lang.String str)
Quote the given
String with single quotes. |
static java.lang.Object |
quoteIfString(java.lang.Object obj)
Turn the given Object into a
String with single quotes
if it is a String ; keeping the Object as-is else. |
static java.lang.String[] |
removeDuplicateStrings(java.lang.String[] array)
Remove duplicate strings from the given array.
|
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 java.lang.String |
replaceString(java.lang.String source,
java.lang.String tag,
java.lang.String value)
将指定字符串中的标记用相应的字符串替换掉
|
static java.lang.String |
rpad(java.lang.String str,
int size,
char padStr)
如果str的长度小于size,则会在字符串的右边增加padStr字符串
|
static java.lang.String |
rpad(java.lang.String str,
int size,
java.lang.String padStr)
如果str的长度小于size,则会在字符串的右边增加padStr字符串
|
static int |
sizeof(java.lang.String str)
获取字符串占用字节数
|
static java.lang.String[] |
sortStringArray(java.lang.String[] array)
Turn given source
String array into sorted array. |
static java.util.List<java.lang.String> |
split(java.lang.String text,
char separator)
取代String.split (正则表达式) 效率提高1倍,同时避免 | 等字符引起的分隔问题
|
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.Properties |
splitArrayElementsIntoProperties(java.lang.String[] array,
java.lang.String delimiter)
Take an array of strings and split each element based on the given delimiter.
|
static java.util.Properties |
splitArrayElementsIntoProperties(java.lang.String[] array,
java.lang.String delimiter,
java.lang.String charsToDelete)
Take an array of strings and split each element based on the given delimiter.
|
static boolean |
startsWithIgnoreCase(java.lang.String str,
java.lang.String prefix)
Test if the given
String starts with the specified prefix,
ignoring upper/lower case. |
static java.io.InputStream |
String2InputStream(java.lang.String str)
将字符串转化为InputStream流对象
|
static java.lang.String |
stringifyException(java.lang.Throwable e)
将堆栈里的数据转化为字符串
|
static java.lang.String |
stripFilenameExtension(java.lang.String path)
Strip the filename extension from the given Java resource path,
|
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.lang.String |
timeFormat(java.lang.Double sec)
格式化时间
|
static java.lang.String |
timeFormat(int sec)
格式化时间
|
static java.lang.String |
timeFormat(long time)
格式化时间
|
static java.lang.String |
timeFormat(java.lang.String sec)
格式化时间
|
static java.lang.String |
timeFormatFull(long time) |
static java.lang.String[] |
tokenizeToStringArray(java.lang.String str,
java.lang.String delimiters)
Tokenize the given
String into a String array via a
StringTokenizer . |
static java.lang.String[] |
tokenizeToStringArray(java.lang.String str,
java.lang.String delimiters,
boolean trimTokens,
boolean ignoreEmptyTokens)
Tokenize the given
String into a String array via a
StringTokenizer . |
static java.lang.String |
toLanguageTag(java.util.Locale locale)
Determine the RFC 3066 compliant language tag,
as used for the HTTP "Accept-Language" header.
|
static java.lang.String[] |
toStringArray(java.util.Collection<java.lang.String> collection)
Copy the given
Collection into a String array. |
static java.lang.String[] |
toStringArray(java.util.Enumeration<java.lang.String> enumeration)
Copy the given Enumeration into a
String array. |
static java.lang.String |
trimAll(java.lang.String str)
清除所有空格
|
static java.lang.String |
trimAllWhitespace(java.lang.String str)
Trim all whitespace from the given
String :
leading, trailing, and in between characters. |
static java.lang.String[] |
trimArrayElements(java.lang.String[] array)
Trim the elements of the given
String array,
calling String.trim() on each of them. |
static java.lang.String |
trimLeadingCharacter(java.lang.String str,
char leadingCharacter)
Trim all occurrences of the supplied leading character from the given
String . |
static java.lang.String |
trimLeadingWhitespace(java.lang.String str)
Trim leading whitespace from the given
String . |
static java.lang.String |
trimTrailingCharacter(java.lang.String str,
char trailingCharacter)
Trim all occurrences of the supplied trailing character from the given
String . |
static java.lang.String |
trimTrailingWhitespace(java.lang.String str)
Trim trailing whitespace from the given
String . |
static java.lang.String |
trimWhitespace(java.lang.String str)
Trim leading and trailing whitespace from the given
String . |
static java.lang.String |
uncapitalize(java.lang.String str)
Uncapitalize a
String , changing the first letter to
lower case as per Character.toLowerCase(char) . |
static int |
unicodeCount(java.lang.String str)
获取字符串中包括的字符数
|
static java.lang.String |
unqualify(java.lang.String qualifiedName)
Unqualify a string qualified by a '.' dot character.
|
static java.lang.String |
unqualify(java.lang.String qualifiedName,
char separator)
Unqualify a string qualified by a separator character.
|
public static boolean isStringHasWideChar(java.lang.String s)
s
- 字符串public static int getWideCharCount(java.lang.String s)
s
- 字符串public static int sizeof(java.lang.String str)
str
- Stringpublic static java.util.List<java.lang.String> getArgList(java.lang.String... args)
args
- 可变参数public static boolean isNotBlank(java.lang.String str)
str
- Stringpublic static boolean isBlank(java.lang.String str)
str
- Stringpublic static java.io.InputStream String2InputStream(java.lang.String str)
str
- Stringpublic static java.lang.String inputStream2String(java.io.InputStream is)
public static java.lang.String inputStream2String(java.io.InputStream is, java.lang.String addEnter, java.lang.String charset)
is
- InputStreamaddEnter
- 行后面添加换行标识charset
- Stringpublic static java.util.List<java.lang.String> split(java.lang.String text, char separator)
text
- Stringseparator
- charpublic static java.lang.Double convert2Double(java.lang.String str)
str
- Stringpublic static java.lang.Integer convert2Integer(java.lang.String str)
str
- Stringpublic static java.lang.Long convert2Long(java.lang.String str)
public static java.lang.String convertNull2Empty(java.lang.String str)
str
- Stringpublic static java.lang.String convertNull2Default(java.lang.String str, java.lang.String defaultValue)
public static boolean hasUnicodeStr(java.lang.String str)
str
- Stringpublic static int unicodeCount(java.lang.String str)
str
- Stringpublic static boolean checkSequence(java.lang.String str)
str
- Stringpublic static boolean isDigit(java.lang.String str)
str
- Stringpublic static boolean isCharacter(java.lang.String str)
str
- Stringpublic static java.lang.String lpad(java.lang.String str, int size, java.lang.String padStr)
str
- 源字符串size
- 最小长度padStr
- 填充字符串public static java.lang.String lpad(java.lang.String str, int size, char padStr)
str
- 源字符串size
- 最小长度padStr
- 填充字符public static java.lang.String rpad(java.lang.String str, int size, java.lang.String padStr)
str
- 源字符串size
- 最小长度padStr
- 填充字符串public static java.lang.String rpad(java.lang.String str, int size, char padStr)
str
- 源字符串size
- 最小长度padStr
- 填充字符public static java.lang.String trimAll(java.lang.String str)
str
- Stringpublic static java.lang.String timeFormat(java.lang.String sec)
sec
- 时间字符串(单位:秒)public static java.lang.String timeFormat(java.lang.Double sec)
sec
- 时间(单位:秒)public static java.lang.String timeFormat(int sec)
sec
- 时间(单位:秒)public static java.lang.String timeFormat(long time)
time
- 时间(单位:秒)public static java.lang.String timeFormatFull(long time)
public static java.lang.String format(java.lang.String str, java.lang.Object... param)
str
- 形如:{0} weighed {2,number,##.#} kg on {1,date}param
- 参数,形如: new Object[] {"Petunia",new java.util.Date(),new Double(13.685)};public static java.lang.String replaceString(java.lang.String source, java.lang.String tag, java.lang.String value)
source
- 需要替换的字符串tag
- 标记value
- 替换值public static boolean isMessyCode(java.lang.String strName)
strName
- 待检查字符串public static boolean isChinese(char c)
c
- charpublic static boolean isCharacterOrDigit(java.lang.String str)
str
- public static java.lang.String encodeAES(java.lang.String str) throws java.lang.Exception
str
- Stringjava.lang.Exception
- Exceptionpublic static java.lang.String decodeAES(java.lang.String estr) throws java.lang.Exception
estr
- Stringjava.lang.Exception
- Exceptionpublic static java.lang.String encodeCharacter(java.lang.String str)
public static java.lang.String decodeCharacter(java.lang.String str)
public static java.lang.String decorateStringLikeArray(java.lang.String str, java.lang.String left, java.lang.String right, java.lang.String regex)
str
- 待修饰字符串,如:01,02,03left
- 左边填充值right
- 右边填充值,为空是同左边regex
- 间隔值,为空时默认英文逗号public static java.lang.String decorateStringLikeArray(java.lang.String[] array, java.lang.String left, java.lang.String right, java.lang.String regex)
public static java.lang.String decorateStringLikeArray(java.lang.String str, java.lang.String left)
str
- 待修饰字符串,如:01,02,03left
- 左边填充值public static java.lang.String decorateStringLikeArray(java.lang.String[] str, java.lang.String left)
public static java.lang.String stringifyException(java.lang.Throwable e)
e
- 堆栈public static java.lang.String arrayToString(java.lang.String[] strs, java.lang.String separator, java.lang.String firstLastPrefix)
strs
- 数组separator
- 中间分隔符 默认逗号firstLastPrefix
- 每项中前后值 默认为单引号public static java.lang.String arrayToString(java.lang.String[] strs)
public static java.lang.String byteToHexString(byte[] bytes, int start, int end)
bytes
- 数组start
- 开始位置end
- 结束位置public static java.lang.String byteToHexString(byte[] bytes)
bytes
- byte[]public static byte[] hexStringToByte(java.lang.String hex)
hex
- 16进制字符串public static java.lang.String nameBeautify(java.lang.String str)
str
- user_idpublic static boolean equals(java.lang.String str1, java.lang.String str2)
str1
- str2
- public static java.lang.String escapeHTML(java.lang.String string)
string
- Stringpublic static java.lang.String getStackTrace(java.lang.Thread t)
t
- Threadpublic static java.lang.String getLineSeparator()
public static java.lang.String cutContent(java.lang.String str, int len)
str
- 待判断的字符串len
- 中文字符个数public static java.lang.String cutContent(java.lang.String str, int len, java.lang.String end)
str
- 待判断的字符串len
- 中文字符个数end
- 结尾符,默认:...public static java.lang.String getGUID()
public static boolean isEmpty(java.lang.Object str)
public static boolean isEmpty(java.lang.String str)
public static boolean isNotEmpty(java.lang.String str)
public static boolean hasLength(java.lang.CharSequence str)
public static boolean hasLength(java.lang.String str)
String
is neither null
nor of length 0.
Note: this method returns true
for a String
that
purely consists of whitespace.
str
- the String
to check (may be null
)true
if the String
is not null
and has lengthhasLength(CharSequence)
,
hasText(String)
public static boolean hasText(java.lang.CharSequence str)
public static boolean hasText(java.lang.String str)
String
contains actual text.
More specifically, this method returns true
if the
String
is not null
, its length is greater than 0,
and it contains at least one non-whitespace character.
str
- the String
to check (may be null
)true
if the String
is not null
, its
length is greater than 0, and it does not contain whitespace onlyhasText(CharSequence)
public static boolean containsWhitespace(java.lang.CharSequence str)
CharSequence
contains any whitespace characters.str
- the CharSequence
to check (may be null
)true
if the CharSequence
is not empty and
contains at least 1 whitespace characterCharacter.isWhitespace(char)
public static boolean containsWhitespace(java.lang.String str)
String
contains any whitespace characters.str
- the String
to check (may be null
)true
if the String
is not empty and
contains at least 1 whitespace charactercontainsWhitespace(CharSequence)
public static java.lang.String trimWhitespace(java.lang.String str)
String
.str
- the String
to checkString
Character.isWhitespace(char)
public static java.lang.String trimAllWhitespace(java.lang.String str)
String
:
leading, trailing, and in between characters.str
- the String
to checkString
Character.isWhitespace(char)
public static java.lang.String trimLeadingWhitespace(java.lang.String str)
String
.str
- the String
to checkString
Character.isWhitespace(char)
public static java.lang.String trimTrailingWhitespace(java.lang.String str)
String
.str
- the String
to checkString
Character.isWhitespace(char)
public static java.lang.String trimLeadingCharacter(java.lang.String str, char leadingCharacter)
String
.str
- the String
to checkleadingCharacter
- the leading character to be trimmedString
public static java.lang.String trimTrailingCharacter(java.lang.String str, char trailingCharacter)
String
.str
- the String
to checktrailingCharacter
- the trailing character to be trimmedString
public static boolean startsWithIgnoreCase(java.lang.String str, java.lang.String prefix)
String
starts with the specified prefix,
ignoring upper/lower case.str
- the String
to checkprefix
- the prefix to look forString.startsWith(java.lang.String, int)
public static boolean endsWithIgnoreCase(java.lang.String str, java.lang.String suffix)
String
ends with the specified suffix,
ignoring upper/lower case.str
- the String
to checksuffix
- the suffix to look forString.endsWith(java.lang.String)
public static boolean substringMatch(java.lang.CharSequence str, int index, java.lang.CharSequence substring)
str
- the original string (or StringBuilder)index
- the index in the original string to start matching againstsubstring
- the substring to match at the given indexpublic static int countOccurrencesOf(java.lang.String str, java.lang.String sub)
sub
in string str
.str
- string to search insub
- string to search forpublic static java.lang.String replace(java.lang.String inString, java.lang.String oldPattern, java.lang.String newPattern)
inString
- String
to examineoldPattern
- String
to replacenewPattern
- String
to insertString
with the replacementspublic static java.lang.String delete(java.lang.String inString, java.lang.String pattern)
inString
- the original String
pattern
- the pattern to delete all occurrences ofString
public static java.lang.String deleteAny(java.lang.String inString, java.lang.String charsToDelete)
String
.inString
- the original String
charsToDelete
- a set of characters to delete.
E.g. "az\n" will delete 'a's, 'z's and new lines.String
public static java.lang.String quote(java.lang.String str)
String
with single quotes.str
- the input String
(e.g. "myString")String
(e.g. "'myString'"),
or null
if the input was null
public static java.lang.Object quoteIfString(java.lang.Object obj)
String
with single quotes
if it is a String
; keeping the Object as-is else.obj
- the input Object (e.g. "myString")String
(e.g. "'myString'"),
or the input object as-is if not a String
public static java.lang.String unqualify(java.lang.String qualifiedName)
qualifiedName
- the qualified namepublic static java.lang.String unqualify(java.lang.String qualifiedName, char separator)
qualifiedName
- the qualified nameseparator
- the separatorpublic static java.lang.String capitalize(java.lang.String str)
String
, changing the first letter to
upper case as per Character.toUpperCase(char)
.
No other letters are changed.str
- the String
to capitalizeString
public static java.lang.String uncapitalize(java.lang.String str)
String
, changing the first letter to
lower case as per Character.toLowerCase(char)
.
No other letters are changed.str
- the String
to uncapitalizeString
public static java.lang.String getFilename(java.lang.String path)
"mypath/myfile.txt" -> "myfile.txt"
.path
- the file path (may be null
)null
if nonepublic static java.lang.String getFilenameExtension(java.lang.String path)
path
- the file path (may be null
)null
if nonepublic static java.lang.String stripFilenameExtension(java.lang.String path)
path
- the file pathpublic static java.lang.String applyRelativePath(java.lang.String path, java.lang.String relativePath)
path
- the path to start from (usually a full file path)relativePath
- the relative path to apply
(relative to the full file path above)public static java.lang.String cleanPath(java.lang.String path)
The result is convenient for path comparison. For other uses, notice that Windows separators ("\") are replaced by simple slashes.
path
- the original pathpublic static boolean pathEquals(java.lang.String path1, java.lang.String path2)
path1
- first path for comparisonpath2
- second path for comparisonpublic static java.util.Locale parseLocaleString(java.lang.String localeString)
localeString
value into a Locale
.
This is the inverse operation of Locale's toString
.
localeString
- the locale String
, following Locale's
toString()
format ("en", "en_UK", etc);
also accepts spaces as separators, as an alternative to underscoresLocale
instance, or null
if nonejava.lang.IllegalArgumentException
- in case of an invalid locale specificationpublic static java.lang.String toLanguageTag(java.util.Locale locale)
locale
- the Locale to transform to a language tagString
public static java.util.TimeZone parseTimeZoneString(java.lang.String timeZoneString)
timeZoneString
value into a TimeZone
.timeZoneString
- the time zone String
, following TimeZone.getTimeZone(String)
but throwing IllegalArgumentException
in case of an invalid time zone specificationTimeZone
instancejava.lang.IllegalArgumentException
- in case of an invalid time zone specificationpublic static java.lang.String[] addStringToArray(java.lang.String[] array, java.lang.String str)
String
to the given String
array,
returning a new array consisting of the input array contents plus
the given String
.array
- the array to append to (can be null
)str
- the String
to appendnull
)public static java.lang.String[] concatenateStringArrays(java.lang.String[] array1, java.lang.String[] array2)
String
arrays into one,
with overlapping array elements included twice.
The order of elements in the original arrays is preserved.
array1
- the first array (can be null
)array2
- the second array (can be null
)null
if both given arrays were null
)public static java.lang.String[] mergeStringArrays(java.lang.String[] array1, java.lang.String[] array2)
String
arrays into one, with overlapping
array elements only included once.
The order of elements in the original arrays is preserved (with the exception of overlapping elements, which are only included on their first occurrence).
array1
- the first array (can be null
)array2
- the second array (can be null
)null
if both given arrays were null
)public static java.lang.String[] sortStringArray(java.lang.String[] array)
String
array into sorted array.array
- the source arraynull
)public static java.lang.String[] toStringArray(java.util.Collection<java.lang.String> collection)
Collection
into a String
array.
The Collection
must contain String
elements only.
collection
- the Collection
to copyString
arraypublic static java.lang.String[] toStringArray(java.util.Enumeration<java.lang.String> enumeration)
String
array.
The Enumeration must contain String
elements only.enumeration
- the Enumeration to copyString
arraypublic static java.lang.String[] trimArrayElements(java.lang.String[] array)
String
array,
calling String.trim()
on each of them.array
- the original String
arraypublic static java.lang.String[] removeDuplicateStrings(java.lang.String[] array)
As of 4.2, it preserves the original order, as it uses a LinkedHashSet
.
array
- the String
arraypublic static java.lang.String[] split(java.lang.String toSplit, java.lang.String delimiter)
String
at the first occurrence of the delimiter.
Does not include the delimiter in the result.toSplit
- the string to splitdelimiter
- to split the string up withnull
if the delimiter wasn't found in the given input String
public static java.util.Properties splitArrayElementsIntoProperties(java.lang.String[] array, java.lang.String delimiter)
Properties
instance is then generated, with the left of the
delimiter providing the key, and the right of the delimiter providing the value.
Will trim both the key and value before adding them to the
Properties
instance.
array
- the array to processdelimiter
- to split each element using (typically the equals symbol)Properties
instance representing the array contents,
or null
if the array to process was null
or emptypublic static java.util.Properties splitArrayElementsIntoProperties(java.lang.String[] array, java.lang.String delimiter, java.lang.String charsToDelete)
Properties
instance is then generated, with the left of the
delimiter providing the key, and the right of the delimiter providing the value.
Will trim both the key and value before adding them to the
Properties
instance.
array
- the array to processdelimiter
- to split each element using (typically the equals symbol)charsToDelete
- one or more characters to remove from each element
prior to attempting the split operation (typically the quotation mark
symbol), or null
if no removal should occurProperties
instance representing the array contents,
or null
if the array to process was null
or emptypublic static java.lang.String[] tokenizeToStringArray(java.lang.String str, java.lang.String delimiters)
String
into a String
array via a
StringTokenizer
.
Trims tokens and omits empty tokens.
The given delimiters
string can 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(java.lang.String, java.lang.String)
.
str
- the String
to tokenizedelimiters
- the delimiter characters, assembled as a String
(each of the characters is individually considered as a delimiter)StringTokenizer
,
String.trim()
,
delimitedListToStringArray(java.lang.String, java.lang.String)
public static java.lang.String[] tokenizeToStringArray(java.lang.String str, java.lang.String delimiters, boolean trimTokens, boolean ignoreEmptyTokens)
String
into a String
array via a
StringTokenizer
.
The given delimiters
string can 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(java.lang.String, java.lang.String)
.
str
- the String
to tokenizedelimiters
- the delimiter characters, assembled as a String
(each of the characters is individually considered as a delimiter)trimTokens
- trim the tokens via String.trim()
ignoreEmptyTokens
- omit empty tokens from the result array
(only applies to tokens that are empty after trimming; StringTokenizer
will not consider subsequent delimiters as token in the first place).StringTokenizer
,
String.trim()
,
delimitedListToStringArray(java.lang.String, java.lang.String)
public static java.lang.String[] delimitedListToStringArray(java.lang.String str, java.lang.String delimiter)
String
that is a delimited list and convert it into a
String
array.
A single delimiter
may consist of more than one character,
but it will still be considered as a single delimiter string, rather
than as bunch of potential delimiter characters, in contrast to
tokenizeToStringArray(java.lang.String, java.lang.String)
.
str
- the input String
delimiter
- the delimiter between elements (this is a single delimiter,
rather than a bunch individual delimiter characters)tokenizeToStringArray(java.lang.String, java.lang.String)
public static java.lang.String[] delimitedListToStringArray(java.lang.String str, java.lang.String delimiter, java.lang.String charsToDelete)
String
that is a delimited list and convert it into
a String
array.
A single delimiter
may consist of more than one character,
but it will still be considered as a single delimiter string, rather
than as bunch of potential delimiter characters, in contrast to
tokenizeToStringArray(java.lang.String, java.lang.String)
.
str
- the input String
delimiter
- 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
tokenizeToStringArray(java.lang.String, java.lang.String)
public static java.lang.String[] commaDelimitedListToStringArray(java.lang.String str)
str
- the input String
public static java.util.Set<java.lang.String> commaDelimitedListToSet(java.lang.String str)
Note that this will suppress duplicates, and as of 4.2, the elements in
the returned set will preserve the original order in a LinkedHashSet
.
str
- the input String
String
entries in the listremoveDuplicateStrings(String[])
public static java.lang.String collectionToDelimitedString(java.util.Collection<?> coll, java.lang.String delim, java.lang.String prefix, java.lang.String suffix)
Collection
to a delimited String
(e.g. CSV).
Useful for toString()
implementations.
coll
- the Collection
to convertdelim
- the delimiter to use (typically a ",")prefix
- the String
to start each element withsuffix
- the String
to end each element withString
public static java.lang.String collectionToDelimitedString(java.util.Collection<?> coll, java.lang.String delim)
Collection
into a delimited String
(e.g. CSV).
Useful for toString()
implementations.
coll
- the Collection
to convertdelim
- the delimiter to use (typically a ",")String
public static java.lang.String collectionToCommaDelimitedString(java.util.Collection<?> coll)
Collection
into a delimited String
(e.g., CSV).
Useful for toString()
implementations.
coll
- the Collection
to convertString
public static java.lang.String arrayToDelimitedString(java.lang.Object[] arr, java.lang.String delim)
String
array into a delimited String
(e.g. CSV).
Useful for toString()
implementations.
arr
- the array to displaydelim
- the delimiter to use (typically a ",")String
public static java.lang.String arrayToCommaDelimitedString(java.lang.Object[] arr)
String
array into a comma delimited String
(i.e., CSV).
Useful for toString()
implementations.
arr
- the array to displayString
public static int hashCode(java.lang.String str)
str
- Stringpublic static java.lang.String getExceptionStackInfo(java.lang.Exception _ex)
public static int count(java.lang.CharSequence content, char charForSearch)
content
- 内容charForSearch
- 被统计的字符public static void main(java.lang.String[] args) throws java.lang.Exception
java.lang.Exception