StringUtils使用笔记

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]

参考博客:http://www.cnblogs.com/linjiqin/p/3425359.html

猜你喜欢

转载自blog.csdn.net/qq_37918817/article/details/84562026