Java中StringUtils工具类的一些用法实例
StringUtils方法的操作对象是java.lang.String类型的对象,是JDK提供的String类型操作方法的补充,并且是null安全的(即如果输入参数String为null则不会抛出NullPointerException,而是做了相应处理,例如,如果输入为null则返回也是null等,具体可以查看源代码)。
除了构造器,StringUtils中一共有130多个方法,并且都是static的,所以我们可以这样调用StringUtils.xxx()
下面分别对一些常用方法做简要介绍:
StringUtils类在org.apache.commons.lang.StringUtils包下
StringisEmpty(Stringstr)和isNotEmpty(Stringstr)
System.out.println(StringUtils.isEmpty(null)); //true System.out.println(StringUtils.isEmpty("")); //true System.out.println(StringUtils.isEmpty(" ")); //false 注意:这里的isEmpty并没有做空格处理 System.out.println(StringUtils.isEmpty("\t\n\f\r")); //false System.out.println(StringUtils.isEmpty("\b")); //false System.out.println(StringUtils.isEmpty("X-rapido")); //false System.out.println(StringUtils.isEmpty("X")); //false
System.out.println(StringUtils.isNotEmpty(null)); //false System.out.println(StringUtils.isNotEmpty("")); //false System.out.println(StringUtils.isNotEmpty(" ")); //true 注意:这里的isNotEmpty并没有做空格处理 System.out.println(StringUtils.isNotEmpty("\t\n\f\r")); //true System.out.println(StringUtils.isNotEmpty("\b")); //true System.out.println(StringUtils.isNotEmpty("X-rapido")); //true System.out.println(StringUtils.isNotEmpty("X")); //true
StringisBlank(Stringstr)和isNotBlank(Stringstr)
包含去空格
System.out.println(StringUtils.isBlank(null)); //true System.out.println(StringUtils.isBlank("")); //true System.out.println(StringUtils.isBlank(" ")); //true System.out.println(StringUtils.isBlank("\t\n\f\r"));//true System.out.println(StringUtils.isBlank("\b")); //false System.out.println(StringUtils.isBlank("X-rapido")); //false System.out.println(StringUtils.isBlank("X")); //false
System.out.println(StringUtils.isNotBlank(null)); //false System.out.println(StringUtils.isNotBlank("")); //false System.out.println(StringUtils.isNotBlank(" ")); //false System.out.println(StringUtils.isNotBlank("\t\n\f\r"));//false System.out.println(StringUtils.isNotBlank("\b")); //true System.out.println(StringUtils.isNotBlank("X-rapido")); //true System.out.println(StringUtils.isNotBlank("X")); //true
Stringtrim(Stringstr)和trimToNull(Stringstr)和trimToEmpty(Stringstr)
System.out.println(StringUtils.trim(null)); //null System.out.println(StringUtils.trim("")); //"" System.out.println(StringUtils.trim(" ")); //"" System.out.println(StringUtils.trim("\t\n\f\r")); //"" System.out.println(StringUtils.trim("\b")); //"" System.out.println(StringUtils.trim("X-rapido")); //"X-rapido" System.out.println(StringUtils.trim("X")); //"X"
System.out.println(StringUtils.trimToNull(null)); //null System.out.println(StringUtils.trimToNull("")); //null System.out.println(StringUtils.trimToNull(" ")); //null System.out.println(StringUtils.trimToNull("\t\n\f\r")); //null System.out.println(StringUtils.trimToNull("\b")); //null System.out.println(StringUtils.trimToNull("X-rapido")); //"X-rapido" System.out.println(StringUtils.trimToNull("X")); //"X"
System.out.println(StringUtils.trimToEmpty(null)); //"" System.out.println(StringUtils.trimToEmpty("")); //"" System.out.println(StringUtils.trimToEmpty(" ")); //"" System.out.println(StringUtils.trimToEmpty("\t\n\f\r")); //"" System.out.println(StringUtils.trimToEmpty("\b")); //"" System.out.println(StringUtils.trimToEmpty("\bsss")); //sss System.out.println(StringUtils.trimToEmpty("X-rapido")); //"X-rapido" System.out.println(StringUtils.trimToEmpty("X")); //"X"
Stringstrip(Stringstr)和stripToNull(Stringstr)和stripToEmpty(Stringstr)
System.out.println(StringUtils.strip(null)); //null System.out.println(StringUtils.strip("")); //"" System.out.println(StringUtils.strip(" ")); //"" System.out.println(StringUtils.strip("\t\n\f\r")); //"" System.out.println(StringUtils.strip("\b")); //"" System.out.println(StringUtils.strip("\bsss")); //sss System.out.println(StringUtils.strip("X-rapido")); //"X-rapido" System.out.println(StringUtils.strip("X")); //"X"
System.out.println(StringUtils.stripToNull(null)); //null System.out.println(StringUtils.stripToNull("")); //null System.out.println(StringUtils.stripToNull(" ")); //null System.out.println(StringUtils.stripToNull("\t\n\f\r")); //null System.out.println(StringUtils.stripToNull("\b")); //"" System.out.println(StringUtils.stripToNull("\bsss")); //sss System.out.println(StringUtils.stripToNull("X-rapido")); //"X-rapido" System.out.println(StringUtils.stripToNull("X")); //"X"
System.out.println(StringUtils.stripToEmpty(null)); //"" System.out.println(StringUtils.stripToEmpty("")); //"" System.out.println(StringUtils.stripToEmpty(" ")); //"" System.out.println(StringUtils.stripToEmpty("\t\n\f\r")); //"" System.out.println(StringUtils.stripToEmpty("\b")); //"" System.out.println(StringUtils.stripToEmpty("\bsss")); //sss System.out.println(StringUtils.stripToEmpty("X-rapido")); //"X-rapido" System.out.println(StringUtils.stripToEmpty("X")); //"X"
Stringstrip(Stringstr,StringstripChars)
去掉str两端的在stripChars中的字符。如果str为null或等于"",则返回它本身,如果stripChars为null或"",则返回strip(Stringstr)。
StringstripStart(Stringstr,StringstripChars)
和11相似,去掉str前端的在stripChars中的字符。
StringstripEnd(Stringstr,StringstripChars)
和11相似,去掉str末端的在stripChars中的字符。
String[]stripAll(String[]strs)
对字符串数组中的每个字符串进行strip(Stringstr),然后返回。 如果strs为null或strs长度为0,则返回strs本身。
String[]stripAll(String[]strs,StringstripChars)
对字符串数组中的每个字符串进行strip(Stringstr,StringstripChars),然后返回。如果strs为null或strs长度为0,则返回strs本身
booleanequals(Stringstr1,Stringstr2)
比较两个字符串是否相等,如果两个均为空则也认为相等。
booleanequalsIgnoreCase(Stringstr1,Stringstr2)
比较两个字符串是否相等,不区分大小写,如果两个均为空则也认为相等。
intindexOf(Stringstr,charsearchChar)
返回字符searchChar在字符串str中第一次出现的位置。如果searchChar没有在str中出现则返回-1,如果str为null或"",则也返回-1
intindexOf(Stringstr,charsearchChar,intstartPos)
返回字符searchChar从startPos开始在字符串str中第一次出现的位置。如果从startPos开始searchChar没有在str中出现则返回-1,如果str为null或"",则也返回-1
intindexOf(Stringstr,StringsearchStr)
返回字符串searchStr在字符串str中第一次出现的位置。如果str为null或searchStr为null则返回-1,如果searchStr为"",且str为不为null,则返回0,如果searchStr不在str中,则返回-1
intordinalIndexOf(Stringstr,StringsearchStr,intordinal)
返回字符串searchStr在字符串str中第ordinal次出现的位置。如果str=null或searchStr=null或ordinal<=0则返回-1
System.out.println(StringUtils.ordinalIndexOf(null,"a",1)); //-1 System.out.println(StringUtils.ordinalIndexOf("a",null,1)); //-1 System.out.println(StringUtils.ordinalIndexOf("","",1)); //0 System.out.println(StringUtils.ordinalIndexOf("aabaabaa","a",1)); //0 System.out.println(StringUtils.ordinalIndexOf("aabaabaa","a",2)); //1 System.out.println(StringUtils.ordinalIndexOf("aabaabaa","b",1)); //2 System.out.println(StringUtils.ordinalIndexOf("aabaabaa","b",2)); //5 System.out.println(StringUtils.ordinalIndexOf("aabaabaa","ab",1));//1 System.out.println(StringUtils.ordinalIndexOf("aabaabaa","ab",2));//4 System.out.println(StringUtils.ordinalIndexOf("aabaabaa","bc",1));//-1 System.out.println(StringUtils.ordinalIndexOf("aabaabaa","",1)); //0 System.out.println(StringUtils.ordinalIndexOf("aabaabaa","",2));//0
intindexOf(Stringstr,StringsearchStr,intstartPos)
返回字符串searchStr从startPos开始在字符串str中第一次出现的位置。
System.out.println(StringUtils.indexOf(null,"a",1)); //-1 System.out.println(StringUtils.indexOf("a",null,1)); //-1 System.out.println(StringUtils.indexOf("","",1)); //0 System.out.println(StringUtils.indexOf("aabaabaa","a",1)); //1 System.out.println(StringUtils.indexOf("aabaabaa","a",2)); //3 System.out.println(StringUtils.indexOf("aabaabaa","b",1)); //2 System.out.println(StringUtils.indexOf("aabaabaa","b",2)); //2 System.out.println(StringUtils.indexOf("aabaabaa","ab",1));//4 System.out.println(StringUtils.indexOf("aabaabaa","ab",2));//1 System.out.println(StringUtils.indexOf("aabaabaa","bc",1));//-1 System.out.println(StringUtils.indexOf("aabaabaa","",1)); //1 System.out.println(StringUtils.indexOf("aabaabaa","",2));//2
intlastIndexOf(Stringstr,charsearchChar)
基本原理同intindexOf(Stringstr,charsearchChar)
intlastIndexOf(Stringstr,charsearchChar,intstartPos)
基本原理同intindexOf(Stringstr,charsearchChar,intstartPos)
intlastIndexOf(Stringstr,StringsearchStr)
基本原理同intindexOf(Stringstr,StringsearchStr)
intlastIndexOf(Stringstr,StringsearchStr,intstartPos)
基本原理同intindexOf(Stringstr,StringsearchStr,intstartPos)