自学内容网 自学内容网

org.apache.commons.lang3 StringUtils

org.apache.commons.lang3.StringUtils

lang3是Apache Commons 团队发布的工具包,要求jdk版本在1.5以上,相对于 org.apache.commons.lang.StringUtils 来说完全支持java5的特性,废除了一些旧的API。该版本无法兼容旧有版本,于是为了避免冲突改名为lang3。

一、字符串非空 / 为空判定

StringUtils.isNotEmpty(" "); // true
StringUtils.isNotBlank(" "); // false
 
StringUtils.isEmpty(" "); //false
StringUtils.isBlank(" "); //true
 

所以如果不希望字符串非空判断被空格干扰,最好用isNotBlank()方法。 

二、去除两端空格操作

StringUtils.trim()    去掉字符串两端的空字符,如果输入为null则返回null。
StringUtils.trimToNull()    去掉字符串两端的空字符,如果输入null或"",则返回null
StringUtils.trimToEmpty()   去掉字符串两端的空字符,如果输入null或"",则返回""

三、去除字符串中的所有空格

StringUtils.deleteWhitespace("   ab  c  ") = "abc"

四、比较两个字符串是否相等

如果两个均为空则也认为相等。

StringUtils.equals(String str1, String str2);
// equalsAny方法比较字符串与给定的数组中的任何一个字符串相等就返回true
StringUtils.equalsAny(String str1, CharSequence[] char);
StringUtils.equalsAny(String str1, String str2 , String str3...);
// 比较两个字符串是否相等并且忽略大小写
StringUtils.equalsIgnoreCase(String str1, String str2);

 五、移除字符串中匹配部分,仅当匹配部分位于起始或结束位置

StringUtils.removeStart("www.domain.com", "www.")   = "domain.com"
StringUtils.removeStart("www.domain.com", "domain") = "www.domain.com"
StringUtils.removeStartIgnoreCase("www.domain.com", "WWW.")   = "domain.com"
StringUtils.removeEnd("www.domain.com", ".com")   = "www.domain"
StringUtils.removeEnd("www.domain.com", "domain") = "www.domain.com"
StringUtils.removeEndIgnoreCase("www.domain.com", ".com")   = "www.domain"

六、移除字符串中所有匹配部分

StringUtils.remove("queued", "ue") = "qd"

七、字符串匹配查找

StringUtils.indexOf(String str, char searchChar); 
 
返回字符 searchChar 在字符串 str 中第一次出现的位置。
如果 searchChar 没有在 str 中出现则返回-1,
如果 str 为 null 或 "" ,则也返回-1
StringUtils.indexOf(String str, char searchChar, int startPos);
 
返回字符 searchChar 从 startPos 开始在字符串 str 中第一次出现的位置。
如果从 startPos 开始 searchChar 没有在 str 中出现则返回-1,
如果 str 为 null 或 "" ,则也返回-1

 

StringUtils.indexOf(String str, String searchStr); 
 
返回字符串 searchStr 在字符串 str 中第一次出现的位置。
如果 str 为 null 或 searchStr 为 null 则返回-1,
如果 searchStr 为 "" ,且 str 为不为 null ,则返回0,
如果 searchStr 不在 str 中,则返回-1
StringUtils.ordinalIndexOf(String str, String searchStr, int ordinal);
 
返回字符串 searchStr 在字符串 str 中第 ordinal 次出现的位置。
如果 str=null 或 searchStr=null 或 ordinal<=0 则返回-1

 

StringUtils.indexOf(String str, String searchStr, int startPos)
返回字符串 searchStr 在字符串 str 中第 ordinal 次出现的位置。
如果 str=null 或 searchStr=null 或 ordinal<=0 则返回-1
基本原理同上
StringUtils.lastIndexOf(String str, char searchChar);
StringUtils.lastIndexOf(String str, char searchChar, int startPos);
StringUtils.lastIndexOf(String str, String searchStr);
StringUtils.lastIndexOf(String str, String searchStr, int startPos);

 八、字符串包含判断

StringUtils.contains(String str, String searchStr);
StringUtils.containsIgnoreCase(String str,String searchStr);
str是原始字符串,searchStr是待搜索的字符串,此方法是检查字符串str中是否包含字符串searchStr,如果str为null,则返回false。

九、字符串拼接

public static String join(Object[] array, String separator)

十、判断是否仅包含数字

StringUtils.isNumeric("123")  = true
StringUtils.isNumeric("12 3") = false
StringUtils.isNumeric("ab2c") = false

十一、equalsAny

判断某个字符串变量是否等于某几个常量值中的任意一个

String foodType = "牛";
if (StringUtils.equalsAny(foodType, "鸡", "鱼", "牛", "猪")) {
    System.out.println("----这是动物,执行荤菜相关操作----");
} else {
    System.out.println("----这是植物,执行素菜相关操作----");
}


原文地址:https://blog.csdn.net/w_t_y_y/article/details/142763335

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!