当前位置:网站首页>StringUtils工具类
StringUtils工具类
2022-07-07 21:52:00 【Wen先森】
org.apache.commons.lang3.StringUtils工具类方法:
方法名 | 方法含义 |
---|---|
IsEmpty/IsBlank | 检查字符串是否包含文本 |
Trim/Strip | 删除前导和尾随空格 |
Equals/Compare | 比较两个字符串是否为null安全的 |
startsWith | 检查字符串是否以前缀null安全开头 |
endsWith | 检查字符串是否以后缀null安全结尾 |
IndexOf/LastIndexOf/Contains | 包含空安全索引检查 |
IndexOfAny/LastIndexOfAny/IndexOfAnyBut/LastIndexOfAnyBut | 任意一组字符串的索引 |
ContainsOnly/ContainsNone/ContainsAny | 字符串是否仅包含/无/这些字符中的任何一个 |
Substring/Left/Right/Mid | 字符串安全提取 |
SubstringBefore/SubstringAfter/SubstringBetween | 相对其他字符串的字符串提取 |
Split/Join | 将字符串拆分为子字符串数组,反之亦然 |
Remove/Delete | 删除字符串的一部分 |
Replace/Overlay | 搜索字符串,然后用另一个字符串替换 |
Chomp/Chop | 删除字符串的最后一部分 |
AppendIfMissing | 如果不存在后缀,则在字符串的末尾附加一个后缀 |
PrependIfMissing | 如果不存在前缀,则在字符串的开头添加前缀 |
LeftPad/RightPad/Center/Repeat | 填充字符串 |
UpperCase/LowerCase/SwapCase/Capitalize/Uncapitalize | 更改字符串的大小写 |
CountMatches | 计算一个字符串在另一个字符串中出现的次数 |
IsAlpha/IsNumeric/IsWhitespace/IsAsciiPrintable | 检查字符串中的字符 |
DefaultString | 防止输入字符串为空 |
Rotate | 旋转(循环移位)字符串 |
Reverse/ReverseDelimited | 反转字符串 |
Abbreviate | 使用省略号或另一个给定的String缩写一个字符串 |
Difference | 比较字符串并报告其差异 |
LevenshteinDistance | 将一个String转换为另一个String所需的更改次数 |
isEmpty系列
StringUtils.isEmpty()
是否为空. 可以看到 " " 空格是会绕过这种空判断,因为是一个空格,并不是严格的空值,会导致 isEmpty(" ")=false
StringUtils.isEmpty(null) = true
StringUtils.isEmpty("") = true
StringUtils.isEmpty(" ") = false
StringUtils.isEmpty("bob") = false
StringUtils.isEmpty(" bob ") = false
/**
*
* <p>NOTE: This method changed in Lang version 2.0.
* It no longer trims the CharSequence.
* That functionality is available in isBlank().</p>
*
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is empty or null
* @since 3.0 Changed signature from isEmpty(String) to isEmpty(CharSequence)
*/
public static boolean isEmpty(final CharSequence cs) {
return cs == null || cs.length() == 0;
}
StringUtils.isNotEmpty()
相当于不为空 , = !isEmpty()
。
public static boolean isNotEmpty(final CharSequence cs) {
return !isEmpty(cs);
}
StringUtils.isAnyEmpty()
是否有一个为空,只有一个为空,就为true。
StringUtils.isAnyEmpty(null) = true
StringUtils.isAnyEmpty(null, "foo") = true
StringUtils.isAnyEmpty("", "bar") = true
StringUtils.isAnyEmpty("bob", "") = true
StringUtils.isAnyEmpty(" bob ", null) = true
StringUtils.isAnyEmpty(" ", "bar") = false
StringUtils.isAnyEmpty("foo", "bar") = false
/**
* @param css the CharSequences to check, may be null or empty
* @return {@code true} if any of the CharSequences are empty or null
* @since 3.2
*/
public static boolean isAnyEmpty(final CharSequence... css) {
if (ArrayUtils.isEmpty(css)) {
return true;
}
for (final CharSequence cs : css){
if (isEmpty(cs)) {
return true;
}
}
return false;
}
StringUtils.isNoneEmpty()
相当于!isAnyEmpty(css)
, 必须所有的值都不为空才返回true
/**
* <p>Checks if none of the CharSequences are empty ("") or null.</p>
*
* <pre>
* StringUtils.isNoneEmpty(null) = false
* StringUtils.isNoneEmpty(null, "foo") = false
* StringUtils.isNoneEmpty("", "bar") = false
* StringUtils.isNoneEmpty("bob", "") = false
* StringUtils.isNoneEmpty(" bob ", null) = false
* StringUtils.isNoneEmpty(" ", "bar") = true
* StringUtils.isNoneEmpty("foo", "bar") = true
* </pre>
*
* @param css the CharSequences to check, may be null or empty
* @return {@code true} if none of the CharSequences are empty or null
* @since 3.2
*/
public static boolean isNoneEmpty(final CharSequence... css) {
isBank系列
StringUtils.isBlank()
是否为真空值(空格或者空值)
StringUtils.isBlank(null) = true
StringUtils.isBlank("") = true
StringUtils.isBlank(" ") = true
StringUtils.isBlank("bob") = false
StringUtils.isBlank(" bob ") = false
/**
* <p>Checks if a CharSequence is whitespace, empty ("") or null.</p>
* @param cs the CharSequence to check, may be null
* @return {@code true} if the CharSequence is null, empty or whitespace
* @since 2.0
* @since 3.0 Changed signature from isBlank(String) to isBlank(CharSequence)
*/
public static boolean isBlank(final CharSequence cs) {
int strLen;
if (cs == null || (strLen = cs.length()) == 0) {
return true;
}
for (int i = 0; i < strLen; i++) {
if (Character.isWhitespace(cs.charAt(i)) == false) {
return false;
}
}
return true;
}
StringUtils.isNotBlank()
是否真的不为空,不是空格或者空值 ,相当于!isBlank();
public static boolean isNotBlank(final CharSequence cs) {
return !isBlank(cs);
}
StringUtils.isAnyBlank()
是否包含任何真空值(包含空格或空值)
StringUtils.isAnyBlank(null) = true
StringUtils.isAnyBlank(null, "foo") = true
StringUtils.isAnyBlank(null, null) = true
StringUtils.isAnyBlank("", "bar") = true
StringUtils.isAnyBlank("bob", "") = true
StringUtils.isAnyBlank(" bob ", null) = true
StringUtils.isAnyBlank(" ", "bar") = true
StringUtils.isAnyBlank("foo", "bar") = false
/**
* <p>Checks if any one of the CharSequences are blank ("") or null and not whitespace only..</p>
* @param css the CharSequences to check, may be null or empty
* @return {@code true} if any of the CharSequences are blank or null or whitespace only
* @since 3.2
*/
public static boolean isAnyBlank(final CharSequence... css) {
if (ArrayUtils.isEmpty(css)) {
return true;
}
for (final CharSequence cs : css){
if (isBlank(cs)) {
return true;
}
}
return false;
}
StringUtils.isNoneBlank()
是否全部都不包含空值或空格
StringUtils.isNoneBlank(null) = false
StringUtils.isNoneBlank(null, "foo") = false
StringUtils.isNoneBlank(null, null) = false
StringUtils.isNoneBlank("", "bar") = false
StringUtils.isNoneBlank("bob", "") = false
StringUtils.isNoneBlank(" bob ", null) = false
StringUtils.isNoneBlank(" ", "bar") = false
StringUtils.isNoneBlank("foo", "bar") = true
/**
* <p>Checks if none of the CharSequences are blank ("") or null and whitespace only..</p>
* @param css the CharSequences to check, may be null or empty
* @return {@code true} if none of the CharSequences are blank or null or whitespace only
* @since 3.2
*/
public static boolean isNoneBlank(final CharSequence... css) {
return !isAnyBlank(css);
边栏推荐
- Conversion between commonsmultipartfile and file
- B_ QuRT_ User_ Guide(40)
- Cloud native data warehouse analyticdb MySQL user manual
- Unity3d learning notes 5 - create sub mesh
- Have all the fresh students of 2022 found jobs? Is it OK to be we media?
- Install Fedora under RedHat
- Entity层、DAO层、Service层、Controller层 先后顺序
- The 19th Zhejiang Provincial College Programming Contest VP record + supplementary questions
- 树后台数据存储(採用webmethod)[通俗易懂]
- 欢聚时代一面
猜你喜欢
MySQL Index Optimization Practice II
生鲜行业数字化采购管理系统:助力生鲜企业解决采购难题,全程线上化采购执行
First week of July
Home appliance industry channel business collaboration system solution: help home appliance enterprises quickly realize the Internet of channels
家用电器行业渠道商协同系统解决方案:助力家电企业快速实现渠道互联网化
Digital procurement management system for fresh food industry: help fresh food enterprises solve procurement problems and implement online procurement throughout the process
MySQL Index Optimization Practice I
[microservices SCG] gateway integration Sentinel
Matlab 信号处理【问答随笔·2】
Oracle database backup and recovery
随机推荐
Mysql索引优化实战二
Tree background data storage (using webmethod) [easy to understand]
B_QuRT_User_Guide(36)
成年人只有一份主业是要付出代价的,被人事劝退后,我哭了一整晚
2021icpc Shanghai h.life is a game Kruskal reconstruction tree
Sequence of entity layer, Dao layer, service layer and controller layer
B_ QuRT_ User_ Guide(37)
648. 单词替换
Given an array, such as [7864, 284, 347, 7732, 8498], now you need to splice the numbers in the array to return the "largest possible number."
Ros2 topic (03): the difference between ros1 and ros2 [02]
HDU 4747 mex "recommended collection"
UE4_ Ue5 combined with Logitech handle (F710) use record
Deep understanding of MySQL lock and transaction isolation level
The 19th Zhejiang Provincial Collegiate Programming Contest 2022浙江省赛 F.EasyFix 主席树
windows设置redis开启自动启动
POJ2392 SpaceElevator [DP]
Installing spss25
V-for traversal object
Coreseek:第二步建索引及測试
ROS2专题(03):ROS1和ROS2的区别【01】