1.字符串判空(isNotEmpty,isNotBlank)
isNotEmpty等价于str!=null &&str.length>0
isNotBlank等价于str!=null && str.length>0 && str.trim().length>0
isNotBlank判空包含null、空字符串、全是空格的字符串;
同理,得出isEmpty和isBlank用法
2.字符串相等StringUtils.equals();
StringUtils.equals("", ""); //结果是true
StringUtils.equals(null, null); //结果是true
StringUtils.equals(null, ""); //结果是false
StringUtils.equals("",null); //结果是false
StringUtils.equalsIgnoreCase("aa", "Aa"); //不区分大小写,true
3.字符串以prefix开始
StringUtils.startsWith("sssdf","");//结果是:true
StringUtils.startsWith("sssdf","sss");//结果是:true
StringUtils.startsWith("sssdf","f");//结果是:false
字符串以prefix开头,不区分大小写
StringUtils.startsWithIgnoreCase("sssdf","Sssdf");//结果是:true
4.字符串以数组中的字符串开头
StringUtils.startsWithAny("aabcde",newString[]{"g","f"});//结果是:false
StringUtils.startsWithAny("aabcde",newString[]{"g","a"});//结果是:true
5.字符串以suffix结束
StringUtils.endsWith("aabcde","d");//结果是:false
StringUtils.endsWith("aabcde","e");//结果是:true
StringUtils.endsWith("aabcde","");//结果是:true
StringUtils.endsWithIgnoreCase("abcde","E"); //结果是:true
6.替换字符串
//只替换一次,结果为:phhhss
StringUtils.replaceOnce("sshhhss", "ss", "p");
//全部替换,结果是:phhhp
StringUtils.replace("sshhhss","ss","p");
//设置最大替换次数,结果为:phhhphss
StringUtils.replace("sshhhsshss", "ss", "p", 2);
//替换所有字符,区别于replace结果是:pphhhp而不是pphhhs
StringUtils.replaceChars("sshhhs","ss","p");
7.查找searchChar在字符串中第一次出现的位置,下标从0开始,未出现返回-1
StringUtils.indexOf("aaavss", "v"); //结果为3
StringUtils.indexOf("aaa", "v"); //结果为-1
StringUtils.indexOf("aaa", ""); //结果为0
8.查找searchChar在字符串中最后一次出现的位置
StringUtils.lastIndexOf("ahaha", "h"); //结果是3
StringUtils.lastIndexOf("ahaha", ""); //结果是5
9.查找数组searchChars第一次出现在字符串中的位置
StringUtils.indexOfAny("aabaa","b");//结果是2
StringUtils.indexOfAny("aacv", new String[]{"c","f"});//结果是2
StringUtils.indexOfAny("aaa",newString[]{"b","c"});//结果是-1
StringUtils.indexOfAny("",new String[]{"t","j",""});//结果是0
10.查找数组searchChars最后一次出现在字符串中的位置
StringUtils.lastIndexOfAny("akas",new String[]{"a","s"});//结果是3
11.查找字符串中不在字符数组searchchars中第一次出现在字符串中的位置
StringUtils.indexOfAnyBut("aaabbc","b"); //结果是0
StringUtils.indexOfAnyBut("sdsfhhl0","s");//结果是1
StringUtils.indexOfAnyBut("aa","aa");//结果是-1
12.统计参数1和参数2开始部分共有的字符个数
StringUtils.indexOfDifference("sssdsfdsf","s");//结果是1
StringUtils.indexOfDifference("sssdsfdsf","sss");//结果是3
13.去掉参数2在参数1开始部分共有的字符串
StringUtils.difference("s","ssaa");//结果是:saa
14.查找,不区分大小写
StringUtils.indexOfIgnoreCase("aaabba", "b");//结果是3
StringUtils.indexOfIgnoreCase("aaaBa", "b");//结果是3
//从指定位置开始查找,不区分大小写--返回-1
StringUtils.indexOfIgnoreCase("aaaBa", "b",2);//结果是3
StringUtils.indexOfIgnoreCase("aaaBa", "b",3);//结果是3
StringUtils.indexOfIgnoreCase("aaaBa", "b",4);//结果是-1
StringUtils.lastIndexOfIgnoreCase("","");//结果是0
StringUtils.lastIndexOfIgnoreCase("","",2);//结果是0
15.从指定位置开始截取字符串
StringUtils.substring("aaabbb", 3);//前闭,结果为bbb
从指定参数1位置开始,截取到参数2位置
StringUtils.substring("dskabcee",3,5);
StringUtils.substring("aaabaa", 3,4);//前闭后开,结果为b
16.截取指定字符串之前的内容
StringUtils.substringBefore("aaavbb", "v");//结果是aaa
一直找到最后一个指定的字符串截取之前的内容
StringUtils.substringBeforeLast("aaabbb", "b");//结果是aaabb
17.从字符串2在字符串1中第一次出现的位置往后截取
StringUtils.substringAfter("aaabb", "b");//结果是b
//从字符串2在字符串1中最后一次出现的位置往后截取
StringUtils.substringAfterLast("aaabb", "a");//结果是bb
18.截取参数2和参数3在字符串中中间的字符
StringUtils.substringBetween("dskeabcedeh","ds");//null
StringUtils.substringBetween("aaabbbcc","a","c");//aabbb
//以数组方式返回参数2和参数3中间的字符串
StringUtils.substringsBetween("abcdavc","a","c");
//结果是数组[b,v]
19.分割字符串
StringUtils.split("aaa,bbb,ccc",",");//结果是数组[aaa,bbb,ccc]
StringUtils.split("aaa#bbb#ccc","#");//结果是数组[aaa,bbb,ccc]
分割字符串,设置最大分割字符串数
StringUtils.splitByWholeSeparator("aaaa#sss#ggg","#",2);//结果是[aaa,sss#ggg]
20.按照相邻字符串类型的不同分割字符串
StringUtils.splitByCharacterType("aa33张三Bcs");//结果是数组[aa,33,张三,B,cs]
忽略大小写不同字符类型的分割
StringUtils.splitByCharacterTypeCamelCase("aa33张三Bcs");//结果是数组[aa,33,张三,Bcs]