public class StringUtils extends Object
限定符和类型 | 字段和说明 |
---|---|
static Pattern |
DIGIT_PATTERN |
static Pattern |
EMAIL_PATTERN
邮箱正则模式
|
static Pattern |
IP_PATTERN
IP正则模式
^:表示字符串的起始位置。
|
static Pattern |
LOWER_PATTERN |
static Pattern |
MOBILE_PATTERN
手机号正则模式,国家号码段分配如下:
一、中国移动:
134(0-8)、135、136、137、138、139、144(物)、147、148(物)、150、151、152、157、158、159、165(虚)、1703(虚)、1705(虚)、1706(虚)、172(物)、178、182、183、184、187、188、195、197(5G)、198
二、中国联通:
130、131、132、140(物)、145、146(物)、155、156、166、167(虚)、1704(虚)、1707(虚)、1708(虚)、1709(虚),171(虚)、175、176、185、186、196(5G)
三、中国电信:
133、1349(卫)、141(物)、149(物)、153、162(虚)、1700(虚)、1701(虚)、1702(虚)、173、1740(0-5)(卫)、177、179(虚)、180、181、189、190(5G)、191、193、199
四、中国广电:
192(5G)
五、其他:
1、中国交通通信信息中心
1749(卫)
2、工业和信息化部应急通信保障中心
1740(6-9)(卫)、1741(0-2)(卫)
|
static Pattern |
MOBILE_TELEPHONE_PATTERN
电话号正则模式
|
static Pattern |
SPECIAL_PATTERN |
static Pattern |
TELEPHONE_PATTERN
座机号正则模式
|
static Pattern |
UPPER_PATTERN |
限定符和类型 | 方法和说明 |
---|---|
static String[] |
addStringToArray(String[] array,
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 String |
applyRelativePath(String path,
String relativePath)
Apply the given relative path to the given Java resource path,
assuming standard Java folder separation (i.e. "/" separators).
|
static String |
arrayToCommaDelimitedString(Object[] arr)
Convert a
String array into a comma delimited String
(i.e., CSV). |
static String |
arrayToDelimitedString(Object[] arr,
String delim)
Convert a
String array into a delimited String (e.g. |
static String |
bytesToHex(byte[] bytes)
字节数组转十六进制字符串
|
static String |
capitalize(String str)
Capitalize a
String , changing the first letter to
upper case as per Character.toUpperCase(char) . |
static String |
cleanPath(String path)
Normalize the path by suppressing sequences like "path/.." and
inner simple dots.
|
static String |
collectionToCommaDelimitedString(Collection<?> coll)
Convert a
Collection into a delimited String (e.g., CSV). |
static String |
collectionToDelimitedString(Collection<?> coll,
String delim)
Convert a
Collection into a delimited String (e.g. |
static String |
collectionToDelimitedString(Collection<?> coll,
String delim,
String prefix,
String suffix)
Convert a
Collection to a delimited String (e.g. |
static Set<String> |
commaDelimitedListToSet(String str)
Convert a comma delimited list (e.g., a row from a CSV file) into a set.
|
static String[] |
commaDelimitedListToStringArray(String str)
Convert a comma delimited list (e.g., a row from a CSV file) into an
array of strings.
|
static String |
compress(String str)
压缩字符串,去除字符串中所有空白字符
|
static String[] |
concatenateStringArrays(String[] array1,
String[] array2)
Concatenate the given
String arrays into one,
with overlapping array elements included twice. |
static boolean |
containsDigit(String s)
判断字符串是否包含数字
|
static boolean |
containsLower(String s)
判断字符串是否包含小写字母
|
static boolean |
containsSpecial(String s)
判断字符串是否包含特殊字符
|
static boolean |
containsUpper(String s)
判断字符串是否包含大写字母
|
static boolean |
containsWhitespace(CharSequence str)
Check whether the given
CharSequence contains any whitespace characters. |
static boolean |
containsWhitespace(String str)
Check whether the given
String contains any whitespace characters. |
static int |
countOccurrencesOf(String str,
String sub)
Count the occurrences of the substring
sub in string str . |
static String |
delete(String inString,
String pattern)
Delete all occurrences of the given substring.
|
static String |
deleteAny(String inString,
String charsToDelete)
Delete any character in a given
String . |
static String[] |
delimitedListToStringArray(String str,
String delimiter)
Take a
String that is a delimited list and convert it into a
String array. |
static String[] |
delimitedListToStringArray(String str,
String delimiter,
String charsToDelete)
Take a
String that is a delimited list and convert it into
a String array. |
static boolean |
endsWithIgnoreCase(String str,
String suffix)
Test if the given
String ends with the specified suffix,
ignoring upper/lower case. |
static String |
filterChars(String str,
String filterChars)
删除字符串中的被过滤串包含的字符
|
static String |
getFileName(String path)
Extract the FileName from the given Java resource path,
e.g.
|
static String |
getFileNameExtension(String path)
Extract the FileName extension from the given Java resource path,
e.g.
|
static int |
getLength(String str)
获取字符串的真实长度,对于一个中文字符按两个英文字符长度计算
|
static String |
getLineSeparator()
获取行分隔符
|
static String |
getUniqueId(int length)
获取指定长度的唯一性编码,该编码最长支持32位,并且不保证编码唯一的正确性,尤其在编码位数越小的时候,重复的可能性越大
|
static String |
getUUID()
获取唯一性编码
|
static boolean |
hasLength(CharSequence str)
Check that the given
CharSequence is neither null nor
of length 0. |
static boolean |
hasLength(String str)
Check that the given
String is neither null nor of length 0. |
static boolean |
hasText(CharSequence str)
Check whether the given
CharSequence contains actual text. |
static boolean |
hasText(String str)
Check whether the given
String contains actual text. |
static byte[] |
hexToByte(String hex)
十六进制转字节数组
|
static boolean |
isBlank(CharSequence cs)
Checks if a CharSequence is empty (""), null or whitespace only.
|
static boolean |
isEmail(String str)
是否是邮箱
|
static boolean |
isEmpty(Object str)
Check whether the given object (possibly a
String ) is empty. |
static boolean |
isIp(String ip)
判断字符串是否是IP地址
|
static boolean |
isMobilePhone(String mobiles)
是否是手机号
|
static boolean |
isNotBlank(CharSequence cs)
Checks if a CharSequence is not empty (""), not null and not whitespace only.
|
static boolean |
isNumeric(String str)
利用正则表达式判断字符串是否都是由数字构成
|
static boolean |
isTelePhone(String telePhone)
是否是座机号码
|
static String |
joinStr(Object... strings)
拼接字符串,该方法用于避免多个字符串采用+进行拼接
|
static int |
length(CharSequence cs)
Gets a CharSequence length or
0 if the CharSequence is
null . |
static String |
limitChars(String str,
String limitChars)
删除字符串中的不被限制串包含的字符
|
static boolean |
matchesCharacter(String str,
char singleCharacter)
Test if the given
String matches the given single character. |
static Locale |
parseLocale(String localeValue)
Parse the given
String value into a Locale , accepting
the Locale.toString() format as well as BCP 47 language tags. |
static Locale |
parseLocaleString(String localeString)
Parse the given
String representation into a Locale . |
static TimeZone |
parseTimeZoneString(String timeZoneString)
Parse the given
timeZoneString value into a TimeZone . |
static boolean |
pathEquals(String path1,
String path2)
Compare two paths after normalization of them.
|
static List<String> |
pickUpEmail(String text)
提取邮箱
|
static List<String> |
pickUpMobilePhone(String text)
提取手机号码
|
static List<String> |
pickUpPhone(String text)
提取电话号码或者手机号码
|
static List<String> |
pickUpRegex(String text,
Pattern pattern)
提取符合正则匹配模式的字符串信息集合
|
static List<String> |
pickUpTelePhone(String text)
提取电话号码
|
static String |
processNullStr(String str)
处理字符串,将空串转换为""
|
static String |
processNullStr(String str,
String defaultValue)
处理空字符串,将空字符串转换为默认字符串
|
static String |
processNumberStr(int length,
String number)
处理数字串,按照指定长度格式返回
|
static String |
processStrLength(int length,
char c,
boolean pre,
String str)
将字符串采用指定字符填充为最小指定长度的字符串
|
static String |
processStrLength(int length,
char c,
String str)
采用尾部填充模式将字符串采用指定字符填充为最小指定长度的字符串
|
static String |
quote(String str)
Quote the given
String with single quotes. |
static Object |
quoteIfString(Object obj)
Turn the given Object into a
String with single quotes
if it is a String ; keeping the Object as-is else. |
static String[] |
removeDuplicateStrings(String[] array)
Remove duplicate strings from the given array.
|
static String |
replace(String inString,
String oldPattern,
String newPattern)
Replace all occurrences of a substring within a string with another string.
|
static String[] |
sortStringArray(String[] array)
Sort the given
String array if necessary. |
static List<String> |
split(String str,
int length)
将字符串按照指定长度进行分割,对于一个中文字符按两个英文字符长度计算,返回分割后的字符串集合
|
static String[] |
split(String toSplit,
String delimiter)
Split a
String at the first occurrence of the delimiter. |
static Properties |
splitArrayElementsIntoProperties(String[] array,
String delimiter)
Take an array of strings and split each element based on the given delimiter.
|
static Properties |
splitArrayElementsIntoProperties(String[] array,
String delimiter,
String charsToDelete)
Take an array of strings and split each element based on the given delimiter.
|
static boolean |
startsWithDigitCharacter(String str)
判断字符串是否以数字开头
|
static boolean |
startsWithIgnoreCase(String str,
String prefix)
Test if the given
String starts with the specified prefix,
ignoring upper/lower case. |
static boolean |
startsWithLetterCharacter(String str)
判断字符串是否以字母开头
|
static String |
stripFileNameExtension(String path)
Strip the FileName extension from the given Java resource path,
e.g.
|
static boolean |
substringMatch(CharSequence str,
int index,
CharSequence substring)
Test whether the given string matches the given substring
at the given index.
|
static String[] |
tokenizeToStringArray(String str,
String delimiters)
|
static String[] |
tokenizeToStringArray(String str,
String delimiters,
boolean trimTokens,
boolean ignoreEmptyTokens)
|
static String[] |
toStringArray(Collection<String> collection)
Copy the given
Collection into a String array. |
static String[] |
toStringArray(Enumeration<String> enumeration)
Copy the given
Enumeration into a String array. |
static String |
trimAllWhitespace(String str)
Trim all whitespace from the given
String :
leading, trailing, and in between characters. |
static String[] |
trimArrayElements(String[] array)
Trim the elements of the given
String array, calling
String.trim() on each non-null element. |
static String |
trimLeadingCharacter(String str,
char leadingCharacter)
Trim all occurrences of the supplied leading character from the given
String . |
static String |
trimLeadingWhitespace(String str)
Trim leading whitespace from the given
String . |
static String |
trimTrailingCharacter(String str,
char trailingCharacter)
Trim all occurrences of the supplied trailing character from the given
String . |
static String |
trimTrailingWhitespace(String str)
Trim trailing whitespace from the given
String . |
static String |
trimWhitespace(String str)
Trim leading and trailing whitespace from the given
String . |
static String |
uncapitalize(String str)
Uncapitalize a
String , changing the first letter to
lower case as per Character.toLowerCase(char) . |
static String |
unqualify(String qualifiedName)
Unqualify a string qualified by a '.' dot character.
|
static String |
unqualify(String qualifiedName,
char separator)
Unqualify a string qualified by a separator character.
|
public static final Pattern IP_PATTERN
^:表示字符串的起始位置。 (25[0-5]|2[0-4]\\d|[01]?\\d?\\d):用来匹配 IP 地址里每一段的数字,范围是 0 - 255。 25[0-5]:匹配 250 - 255。 2[0-4]\\d:匹配 200 - 249。 [01]?\\d?\\d:匹配 0 - 199。 \\.:匹配点号 {3}:表明前面的组合要重复 3 次,这和 IPv4 地址由 4 个数字段构成相符合。 $:表示字符串的结束位置。
public static final Pattern MOBILE_PATTERN
一、中国移动: 134(0-8)、135、136、137、138、139、144(物)、147、148(物)、150、151、152、157、158、159、165(虚)、1703(虚)、1705(虚)、1706(虚)、172(物)、178、182、183、184、187、188、195、197(5G)、198
二、中国联通: 130、131、132、140(物)、145、146(物)、155、156、166、167(虚)、1704(虚)、1707(虚)、1708(虚)、1709(虚),171(虚)、175、176、185、186、196(5G)
三、中国电信: 133、1349(卫)、141(物)、149(物)、153、162(虚)、1700(虚)、1701(虚)、1702(虚)、173、1740(0-5)(卫)、177、179(虚)、180、181、189、190(5G)、191、193、199
四、中国广电: 192(5G)
五、其他: 1、中国交通通信信息中心 1749(卫)
2、工业和信息化部应急通信保障中心 1740(6-9)(卫)、1741(0-2)(卫)
public static final Pattern TELEPHONE_PATTERN
public static final Pattern MOBILE_TELEPHONE_PATTERN
public static final Pattern EMAIL_PATTERN
public static final Pattern DIGIT_PATTERN
public static final Pattern LOWER_PATTERN
public static final Pattern UPPER_PATTERN
public static final Pattern SPECIAL_PATTERN
public static boolean isEmpty(Object str)
String
) is empty.
This is effectively a shortcut for !hasLength(String)
.
This method accepts any Object as an argument, comparing it to
null
and the empty String. As a consequence, this method
will never return true
for a non-null non-String object.
The Object signature is useful for general attribute handling code that commonly deals with Strings but generally has to iterate over Objects since attributes may e.g. be primitive value objects as well.
Note: If the object is typed to String
upfront, prefer
hasLength(String)
or hasText(String)
instead.
str
- the candidate object (possibly a String
)hasLength(String)
,
hasText(String)
public static boolean isBlank(CharSequence cs)
Checks if a CharSequence is empty (""), null or whitespace only.
Whitespace is defined by Character.isWhitespace(char)
.
StringUtils.isBlank(null) = true StringUtils.isBlank("") = true StringUtils.isBlank(" ") = true StringUtils.isBlank("bob") = false StringUtils.isBlank(" bob ") = false
cs
- the CharSequence to check, may be nulltrue
if the CharSequence is null, empty or whitespace onlypublic static boolean isNotBlank(CharSequence cs)
Checks if a CharSequence is not empty (""), not null and not whitespace only.
Whitespace is defined by Character.isWhitespace(char)
.
StringUtils.isNotBlank(null) = false StringUtils.isNotBlank("") = false StringUtils.isNotBlank(" ") = false StringUtils.isNotBlank("bob") = true StringUtils.isNotBlank(" bob ") = true
cs
- the CharSequence to check, may be nulltrue
if the CharSequence is
not empty and not null and not whitespace onlypublic static int length(CharSequence cs)
0
if the CharSequence is
null
.cs
- a CharSequence or null
0
if the CharSequence is
null
.public static boolean hasLength(CharSequence str)
CharSequence
is neither null
nor
of length 0.
Note: this method returns true
for a CharSequence
that purely consists of whitespace.
StringUtils.hasLength(null) = false StringUtils.hasLength("") = false StringUtils.hasLength(" ") = true StringUtils.hasLength("Hello") = true
str
- the CharSequence
to check (may be null
)true
if the CharSequence
is not null
and has lengthhasLength(String)
,
hasText(CharSequence)
public static boolean hasLength(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(CharSequence str)
CharSequence
contains actual text.
More specifically, this method returns true
if the
CharSequence
is not null
, its length is greater than
0, and it contains at least one non-whitespace character.
StringUtils.hasText(null) = false StringUtils.hasText("") = false StringUtils.hasText(" ") = false StringUtils.hasText("12345") = true StringUtils.hasText(" 12345 ") = true
str
- the CharSequence
to check (may be null
)true
if the CharSequence
is not null
,
its length is greater than 0, and it does not contain whitespace onlyhasText(String)
,
hasLength(CharSequence)
,
Character.isWhitespace(char)
public static boolean hasText(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)
,
hasLength(String)
,
Character.isWhitespace(char)
public static boolean containsWhitespace(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(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 String trimWhitespace(String str)
String
.str
- the String
to checkString
Character.isWhitespace(char)
public static String trimAllWhitespace(String str)
String
:
leading, trailing, and in between characters.str
- the String
to checkString
Character.isWhitespace(char)
public static String trimLeadingWhitespace(String str)
String
.str
- the String
to checkString
Character.isWhitespace(char)
public static String trimTrailingWhitespace(String str)
String
.str
- the String
to checkString
Character.isWhitespace(char)
public static String trimLeadingCharacter(String str, char leadingCharacter)
String
.str
- the String
to checkleadingCharacter
- the leading character to be trimmedString
public static String trimTrailingCharacter(String str, char trailingCharacter)
String
.str
- the String
to checktrailingCharacter
- the trailing character to be trimmedString
public static boolean matchesCharacter(String str, char singleCharacter)
String
matches the given single character.str
- the String
to checksingleCharacter
- the character to compare topublic static boolean startsWithIgnoreCase(String str, 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(String str, 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(CharSequence str, int index, 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(String str, String sub)
sub
in string str
.str
- string to search insub
- string to search forpublic static String replace(String inString, String oldPattern, String newPattern)
inString
- String
to examineoldPattern
- String
to replacenewPattern
- String
to insertString
with the replacementspublic static String delete(String inString, String pattern)
inString
- the original String
pattern
- the pattern to delete all occurrences ofString
public static String deleteAny(String inString, 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 String quote(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 Object quoteIfString(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 String unqualify(String qualifiedName)
qualifiedName
- the qualified namepublic static String unqualify(String qualifiedName, char separator)
qualifiedName
- the qualified nameseparator
- the separatorpublic static String capitalize(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 String uncapitalize(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 String getFileName(String path)
"mypath/myfile.txt" -> "myfile.txt"
.path
- the file path (may be null
)null
if nonepublic static String getFileNameExtension(String path)
path
- the file path (may be null
)null
if nonepublic static String stripFileNameExtension(String path)
path
- the file pathpublic static String applyRelativePath(String path, 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 String cleanPath(String path)
The result is convenient for path comparison. For other uses, notice that Windows separators ("\") are replaced by simple slashes.
NOTE that cleanPath
should not be depended
upon in a security context. Other mechanisms should be used to prevent
path-traversal issues.
path
- the original pathpublic static boolean pathEquals(String path1, String path2)
path1
- first path for comparisonpath2
- second path for comparisonpublic static Locale parseLocale(String localeValue)
String
value into a Locale
, accepting
the Locale.toString()
format as well as BCP 47 language tags.localeValue
- the locale value: following either Locale's
toString()
format ("en", "en_UK", etc), also accepting spaces as
separators (as an alternative to underscores), or BCP 47 (e.g. "en-UK")
as specified by Locale.forLanguageTag(java.lang.String)
on Java 7+Locale
instance, or null
if noneIllegalArgumentException
- in case of an invalid locale specificationparseLocaleString(java.lang.String)
,
Locale.forLanguageTag(java.lang.String)
public static Locale parseLocaleString(String localeString)
String
representation into a Locale
.
For many parsing scenarios, this is an inverse operation of
Locale's toString
, in a lenient sense.
This method does not aim for strict Locale
design compliance;
it is rather specifically tailored for typical Spring parsing needs.
Note: This delegate does not accept the BCP 47 language tag format.
Please use parseLocale(java.lang.String)
for lenient parsing of both formats.
localeString
- the locale String
: following Locale's
toString()
format ("en", "en_UK", etc), also accepting spaces as
separators (as an alternative to underscores)Locale
instance, or null
if noneIllegalArgumentException
- in case of an invalid locale specificationpublic static TimeZone parseTimeZoneString(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
instanceIllegalArgumentException
- in case of an invalid time zone specificationpublic static String[] toStringArray(Collection<String> collection)
collection
- the Collection
to copy
(potentially null
or empty)String
arraypublic static String[] toStringArray(Enumeration<String> enumeration)
enumeration
- the Enumeration
to copy
(potentially null
or empty)String
arraypublic static String[] addStringToArray(String[] array, 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 String[] concatenateStringArrays(String[] array1, 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 String[] sortStringArray(String[] array)
String
array if necessary.array
- the original array (potentially empty)null
)public static String[] trimArrayElements(String[] array)
String
array, calling
String.trim()
on each non-null element.array
- the original String
array (potentially empty)public static String[] removeDuplicateStrings(String[] array)
As of 4.2, it preserves the original order, as it uses a LinkedHashSet
.
array
- the String
array (potentially empty)public static String[] split(String toSplit, String delimiter)
String
at the first occurrence of the delimiter.
Does not include the delimiter in the result.toSplit
- the string to split (potentially null
or empty)delimiter
- to split the string up with (potentially null
or empty)null
if the delimiter wasn't found in the given input String
public static Properties splitArrayElementsIntoProperties(String[] array, 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
.
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 Properties splitArrayElementsIntoProperties(String[] array, String delimiter, 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 String[] tokenizeToStringArray(String str, 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 tokenize (potentially null
or empty)delimiters
- 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 String[] tokenizeToStringArray(String str, 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 tokenize (potentially null
or empty)delimiters
- 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 String[] delimitedListToStringArray(String str, 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
(potentially null
or empty)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 String[] delimitedListToStringArray(String str, String delimiter, 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
(potentially null
or empty)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 String[] commaDelimitedListToStringArray(String str)
str
- the input String
(potentially null
or empty)public static Set<String> commaDelimitedListToSet(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
(potentially null
or empty)String
entries in the listremoveDuplicateStrings(String[])
public static String collectionToDelimitedString(Collection<?> coll, String delim, String prefix, String suffix)
coll
- the Collection
to convert (potentially null
or empty)delim
- the delimiter to use (typically a ",")prefix
- the String
to start each element withsuffix
- the String
to end each element withString
public static String collectionToDelimitedString(Collection<?> coll, String delim)
Collection
into a delimited String
(e.g. CSV).
Useful for toString()
implementations.
coll
- the Collection
to convert (potentially null
or empty)delim
- the delimiter to use (typically a ",")String
public static String collectionToCommaDelimitedString(Collection<?> coll)
Collection
into a delimited String
(e.g., CSV).
Useful for toString()
implementations.
coll
- the Collection
to convert (potentially null
or empty)String
public static String arrayToDelimitedString(Object[] arr, String delim)
String
array into a delimited String
(e.g. CSV).
Useful for toString()
implementations.
arr
- the array to display (potentially null
or empty)delim
- the delimiter to use (typically a ",")String
public static String arrayToCommaDelimitedString(Object[] arr)
String
array into a comma delimited String
(i.e., CSV).
Useful for toString()
implementations.
arr
- the array to display (potentially null
or empty)String
public static String filterChars(String str, String filterChars)
str
- 待处理字符串filterChars
- 过滤串public static String limitChars(String str, String limitChars)
str
- 待处理字符串limitChars
- 限制串public static String processNullStr(String str)
str
- 待处理字符串public static String processNullStr(String str, String defaultValue)
str
- 待处理字符串defaultValue
- 默认值public static boolean isIp(String ip)
ip
- 待判断IP字符串public static boolean isMobilePhone(String mobiles)
mobiles
- public static boolean isTelePhone(String telePhone)
telePhone
- public static boolean isEmail(String str)
str
- public static List<String> pickUpRegex(String text, Pattern pattern)
text
- 文本pattern
- 正则匹配模式public static String getUUID()
public static String getUniqueId(int length)
length
- 编码长度public static String processNumberStr(int length, String number)
length
- 指定长度number
- 数字串public static String processStrLength(int length, char c, String str)
length
- 最小指定长度c
- 指定字符str
- 待填充字符串public static String processStrLength(int length, char c, boolean pre, String str)
length
- 最小指定长度c
- 指定字符pre
- 是否前缀填充模式str
- 待填充字符串public static String bytesToHex(byte[] bytes)
bytes
- 字节数组public static byte[] hexToByte(String hex)
hex
- 十六进制字符串public static String getLineSeparator()
public static boolean isNumeric(String str)
str
- 字符串public static boolean startsWithLetterCharacter(String str)
str
- 字符串public static boolean startsWithDigitCharacter(String str)
str
- 字符串public static int getLength(String str)
str
- 待计算字符串public static List<String> split(String str, int length)
str
- 待分割字符串length
- 分割长度public static boolean containsDigit(String s)
s
- 字符串public static boolean containsLower(String s)
s
- 字符串public static boolean containsUpper(String s)
s
- 字符串public static boolean containsSpecial(String s)
s
- 字符串