刚毅的花卷 · C# 中居然也有切片语法糖,太厉害了 - ...· 3 周前 · |
爱健身的跑步鞋 · spyder 缩进指南、 ...· 1 月前 · |
坏坏的斑马 · 先按时间排序,再按姓名排序 ...· 4 月前 · |
细心的泡面 · C# Ftp 文件上传下载 - 简书· 5 月前 · |
干练的甜瓜 · 站在600万高度 ...· 1 年前 · |
失恋的汽水 · 写轮眼漫画 - 抖音· 1 年前 · |
string convert array |
https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/util/StringUtils.html |
打篮球的香菜
1 年前 |
String
utility methods.
Mainly for internal use within the framework; consider
Apache's Commons Lang
for a more comprehensive suite of
String
utilities.
This class delivers some simple functionality that should really be
provided by the core Java
String
and
StringBuilder
classes. It also provides easy-to-use methods to convert between
delimited strings, such as CSV strings, and collections and arrays.
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)
static
String
arrayToCommaDelimitedString
(
Object
[] arr)
String
array into a comma delimited
String
(i.e., CSV).
static
String
arrayToDelimitedString
(
Object
[] arr,
String
delim)
String
array into a delimited
String
(e.g.
static
String
capitalize
(
String
str)
String
, changing the first letter to
upper case as per
Character.toUpperCase(char)
.
static
String
static
String
collectionToCommaDelimitedString
(
Collection
<?> coll)
Collection
into a delimited
String
(e.g., CSV).
static
String
collectionToDelimitedString
(
Collection
<?> coll,
String
delim)
Collection
into a delimited
String
(e.g.
static
String
collectionToDelimitedString
(
Collection
<?> coll,
String
delim,
String
prefix,
String
suffix)
Collection
to a delimited
String
(e.g.
commaDelimitedListToSet
(
String
str)
static
String
[]
static
String
[]
concatenateStringArrays
(
String
[] array1,
String
[] array2)
String
arrays into one,
with overlapping array elements included twice.
static boolean
containsWhitespace
(
CharSequence
str)
CharSequence
contains any whitespace characters.
static boolean
containsWhitespace
(
String
str)
String
contains any whitespace characters.
static int
countOccurrencesOf
(
String
str,
String
sub)
sub
in string
str
.
static
String
static
String
String
.
static
String
[]
delimitedListToStringArray
(
String
str,
String
delimiter)
String
that is a delimited list and convert it into a
String
array.
static
String
[]
delimitedListToStringArray
(
String
str,
String
delimiter,
String
charsToDelete)
String
that is a delimited list and convert it into
a
String
array.
static boolean
endsWithIgnoreCase
(
String
str,
String
suffix)
String
ends with the specified suffix,
ignoring upper/lower case.
static
String
getFilename
(
String
path)
static
String
getFilenameExtension
(
String
path)
static boolean
hasLength
(
CharSequence
str)
CharSequence
is neither
null
nor
of length 0.
static boolean
String
is neither
null
nor of length 0.
static boolean
hasText
(
CharSequence
str)
CharSequence
contains actual
text
.
static boolean
String
contains actual
text
.
static boolean
static boolean
matchesCharacter
(
String
str,
char singleCharacter)
String
matches the given single character.
static
Locale
parseLocale
(
String
localeValue)
String
value into a
Locale
, accepting
the
Locale.toString()
format as well as BCP 47 language tags as
specified by
Locale.forLanguageTag(java.lang.String)
.
static
Locale
parseLocaleString
(
String
localeString)
String
representation into a
Locale
.
static
TimeZone
parseTimeZoneString
(
String
timeZoneString)
timeZoneString
value into a
TimeZone
.
static boolean
pathEquals
(
String
path1,
String
path2)
static
String
String
with single quotes.
static
Object
quoteIfString
(
Object
obj)
String
with single quotes
if it is a
String
; keeping the Object as-is else.
static
String
[]
removeDuplicateStrings
(
String
[] array)
static
String
static
String
[]
sortStringArray
(
String
[] array)
String
array if necessary.
static
String
[]
String
at the first occurrence of the delimiter.
static
Properties
splitArrayElementsIntoProperties
(
String
[] array,
String
delimiter)
static
Properties
splitArrayElementsIntoProperties
(
String
[] array,
String
delimiter,
String
charsToDelete)
static boolean
startsWithIgnoreCase
(
String
str,
String
prefix)
String
starts with the specified prefix,
ignoring upper/lower case.
static
String
stripFilenameExtension
(
String
path)
static boolean
substringMatch
(
CharSequence
str,
int index,
CharSequence
substring)
static
String
[]
tokenizeToStringArray
(
String
str,
String
delimiters)
static
String
[]
tokenizeToStringArray
(
String
str,
String
delimiters,
boolean trimTokens,
boolean ignoreEmptyTokens)
static
String
[]
toStringArray
(
Collection
<
String
> collection)
Collection
into a
String
array.
static
String
[]
toStringArray
(
Enumeration
<
String
> enumeration)
Enumeration
into a
String
array.
static
CharSequence
trimAllWhitespace
(
CharSequence
text)
CharSequence
:
leading, trailing, and in between characters.
static
String
trimAllWhitespace
(
String
str)
String
:
leading, trailing, and in between characters.
static
String
[]
trimArrayElements
(
String
[] array)
String
array, calling
String.trim()
on each non-null element.
static
String
trimLeadingCharacter
(
String
str,
char leadingCharacter)
String
.
static
String
trimLeadingWhitespace
(
String
str)
String.stripLeading()
static
String
trimTrailingCharacter
(
String
str,
char trailingCharacter)
String
.
static
String
trimTrailingWhitespace
(
String
str)
String.stripTrailing()
static
String
trimWhitespace
(
String
str)
String.strip()
static
String
truncate
(
CharSequence
charSequence)
CharSequence
.
static
String
truncate
(
CharSequence
charSequence,
int threshold)
CharSequence
.
static
String
uncapitalize
(
String
str)
String
, changing the first letter to
lower case as per
Character.toLowerCase(char)
.
static
String
uncapitalizeAsProperty
(
String
str)
String
in JavaBeans property format,
changing the first letter to lower case as per
Character.toLowerCase(char)
, unless the initial two
letters are upper case in direct succession.
static
String
static
String
static
String
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
)
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)
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)
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)
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)
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)
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)
String.strip()
String
.str
- the String
to checkString
Character.isWhitespace(char)
CharSequence
:
leading, trailing, and in between characters.text
- the CharSequence
to checkCharSequence
trimAllWhitespace(String)
Character.isWhitespace(char)
String
:
leading, trailing, and in between characters.str
- the String
to checkString
trimAllWhitespace(CharSequence)
Character.isWhitespace(char)
String.stripLeading()
String
.str
- the String
to checkString
Character.isWhitespace(char)
String.stripTrailing()
String
.str
- the String
to checkString
Character.isWhitespace(char)
String
.str
- the String
to checkleadingCharacter
- the leading character to be trimmedString
String
.str
- the String
to checktrailingCharacter
- the trailing character to be trimmedString
String
matches the given single character.str
- the String
to checksingleCharacter
- the character to compare toString
starts with the specified prefix,
ignoring upper/lower case.str
- the String
to checkprefix
- the prefix to look forString.startsWith(java.lang.String, int)
String
ends with the specified suffix,
ignoring upper/lower case.str
- the String
to checksuffix
- the suffix to look forString.endsWith(java.lang.String)
str
- the original string (or StringBuilder)index
- the index in the original string to start matching againstsubstring
- the substring to match at the given indexsub
in string str
.str
- string to search insub
- string to search forinString
- String
to examineoldPattern
- String
to replacenewPattern
- String
to insertString
with the replacementsinString
- the original String
pattern
- the pattern to delete all occurrences ofString
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
String
with single quotes.str
- the input String
(e.g. "myString")String
(e.g. "'myString'"),
or null
if the input was null
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
qualifiedName
- the qualified name
qualifiedName
- the qualified name
separator
- the separator
String
, changing the first letter to
upper case as per
Character.toUpperCase(char)
.
No other letters are changed.
str
- the
String
to capitalize
String
String
, changing the first letter to
lower case as per
Character.toLowerCase(char)
.
No other letters are changed.
str
- the
String
to uncapitalize
String
String
in JavaBeans property format,
changing the first letter to lower case as per
Character.toLowerCase(char)
, unless the initial two
letters are upper case in direct succession.
str
- the
String
to uncapitalize
String
Introspector.decapitalize(String)
"mypath/myfile.txt" → "myfile.txt"
.
path
- the file path (may be
null
)
null
if none
path
- the file path (may be
null
)
null
if none
path
- the file path
path
- the path to start from (usually a full file path)
relativePath
- the relative path to apply
(relative to the full file path above)
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 path
path1
- first path for comparison
path2
- second path for comparison
"a"
through
"z"
,
"A"
through
"Z"
,
and
"0"
through
"9"
stay the same.
"-"
,
"_"
,
"."
, and
"*"
stay the same.
%<i>xy</i>
" is interpreted as a hexadecimal representation of the character.
source
- the encoded String
charset
- the character set
IllegalArgumentException
- when the given source contains invalid encoded sequences
URLDecoder.decode(String, String)
String
value into a
Locale
, accepting
the
Locale.toString()
format as well as BCP 47 language tags as
specified by
Locale.forLanguageTag(java.lang.String)
.
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")
Locale
instance, or
null
if none
IllegalArgumentException
- in case of an invalid locale specification
parseLocaleString(java.lang.String)
Locale.forLanguageTag(java.lang.String)
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 none
IllegalArgumentException
- in case of an invalid locale specification
timeZoneString
value into a
TimeZone
.
timeZoneString
- the time zone
String
, following
TimeZone.getTimeZone(String)
but throwing
IllegalArgumentException
in case of an invalid time zone specification
TimeZone
instance
IllegalArgumentException
- in case of an invalid time zone specification
collection
- the
Collection
to copy
(potentially
null
or empty)
String
array
enumeration
- the
Enumeration
to copy
(potentially
null
or empty)
String
array
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 append
null
)
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
)
String
array if necessary.
array
- the original array (potentially empty)
null
)
String
array, calling
String.trim()
on each non-null element.
array
- the original
String
array (potentially empty)
As of 4.2, it preserves the original order, as it uses a
LinkedHashSet
.
array
- the
String
array (potentially empty)
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
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 process
delimiter
- 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 empty
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 process
delimiter
- 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 occur
Properties
instance representing the array contents,
or
null
if the array to process was
null
or empty
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)
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)
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 a 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)
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 a 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)
str
- the input
String
(potentially
null
or empty)
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 list
removeDuplicateStrings(String[])
coll
- the
Collection
to convert (potentially
null
or empty)
delim
- the delimiter to use (typically a ",")
prefix
- the
String
to start each element with
suffix
- the
String
to end each element with
String
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
Collection
into a delimited
String
(e.g., CSV).
Useful for
toString()
implementations.
coll
- the
Collection
to convert (potentially
null
or empty)
String
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
String
array into a comma delimited
String
(i.e., CSV).
Useful for
toString()
implementations.
arr
- the array to display (potentially
null
or empty)
String
CharSequence
.
Delegates to
truncate(CharSequence, int)
, supplying
100
as the threshold.
charSequence
- the
CharSequence
to truncate
CharSequence
if its length does not exceed the threshold
CharSequence
.
If the length of the
CharSequence
is greater than the threshold,
this method returns a
subsequence
of the
CharSequence
(up to the threshold) appended
with the suffix
" (truncated)..."
. Otherwise, this method returns
charSequence.toString()
.
charSequence
- the
CharSequence
to truncate
threshold
- the maximum length after which to truncate; must be a
positive number
CharSequence
if its length does not exceed the threshold
hasLength(String)
andhasText(String)
(orObjectUtils.isEmpty(Object)
)