天天看點

StringUtils 工具類的用法

/1.字元串以prefix開始/

StringUtils.startsWith("sssdf","");//結果是:true

StringUtils.startsWith("sssdf","s");//結果是:true

StringUtils.startsWith("sssdf","ss");//結果是:true

StringUtils.startsWith("sssdf","sss");//結果是:true

StringUtils.startsWith("sssdf","sssdf");//結果是:true

StringUtils.startsWith("sssdf","f");//結果是:false

/2.字元串以prefix開始,不區分大小寫/

StringUtils.startsWithIgnoreCase("sssdf","Sssdf");//結果是:true

/3.字元串以數組中的字元串開始/

StringUtils.startsWithAny("aabcde",newString[]{"g","f"});//結果是:false

StringUtils.startsWithAny("aabcde",newString[]{"g","a"});//結果是:true

/4.字元串以suffix結束/

StringUtils.endsWith("aabcde","d");//結果是:false

StringUtils.endsWith("aabcde","e");//結果是:false

StringUtils.endsWithIgnoreCase("","");//結果是:false

/5.替換字元串:把text中的searchString替換成replacement,max是最大替換次數,預設是替換所有/

StringUtils.replaceOnce("sshhhss","ss","p");//隻替換一次-->結果是:phhhss

StringUtils.replace("sshhhs","ss","p");//全部替換--->結果是:phhhs

StringUtils.replace("sshhhsshss","ss","7777",2);//max:最大替換次數-->結果是:7777hhh7777hss

StringUtils.replaceChars("sshhhs","ss","p");//替換所有字元,差別于replace--->結果是:pphhhp而不是pphhhs

/6.按照數組進行替換,位置要比對,數組長度要相等;暫時沒發現下面replaceEach和replaceEachRepeatedly二者的差別/

StringUtils.replaceEach("www.baidu.com",newString[]{"baidu","com"},newString[]{"taobao","net"});//結果是:www.taobao.net

StringUtils.replaceEach("www.baidu,baidu.com",newString[]{"baidu","com"},newString[]{"taobao","net"});//結果是:www.taobao,taobao.net

StringUtils.replaceEachRepeatedly("www.baidu.com",newString[]{"baidu","com"},newString[]{"taobao","net"});//結果是:www.taobao.net

/7.比較兩個字元串是否相等,如果兩個均為null,則也認為相等/

StringUtils.equals("","");//結果是true

StringUtils.equals(null,null);//結果是true

StringUtils.equals("",null);//結果是false

StringUtils.equals(null,"");//結果是false

StringUtils.equalsIgnoreCase("ss","Ss");//不區分大小寫--結果是true

/8.傳回searchChar在字元串中第一次出現的位置,如果searchChar沒有在字元串中出現,則傳回-1/

StringUtils.indexOf("sdfsfsfdsf","4");/結果是-1/

StringUtils.indexOf("sdfsfsfdsf","f");/結果是2/

//查找searchChar在字元串中最後一次出現的索引*/

StringUtils.lastIndexOf("aFkyk","k");//結果是4

StringUtils.lastIndexOf("aFkyk","");//結果是1

/9.找出字元數組searChars第一次出現在字元串中的位置/

StringUtils.indexOfAny("sdsfhhl0","f");//結果是3

StringUtils.indexOfAny("sdsfhhl0",newString[]{"f","0"});//結果是3

StringUtils.indexOfAny("sdsfhhl0",newString[]{"t","j"});//結果是-1

StringUtils.indexOfAny("sdsfhhl0",newString[]{"t","j",""});//結果是3

StringUtils.lastIndexOfAny("aFkyk",newString[]{"aFkyk","k"});//找出字元數組searChars最後一次出現在字元串中的位置--結果是5

/*10.找出字元串中不在字元數組searchars中的第一個字元出現的位置(從0位開始)

*如果都在,傳回-1

**/

StringUtils.indexOfAnyBut("sdsfhhl0","h");//結果是0

StringUtils.indexOfAnyBut("sdsfhhl0","s");//結果是1

StringUtils.indexOfAnyBut("aa","aa");//結果是-1

/11.統計參數1和參數2開始部分共有的字元個數/

StringUtils.indexOfDifference("sdsfdsf","s");//結果是1

StringUtils.indexOfDifference(newString[]{"sdsfdsf","s"});//結果是1

/12.去掉參數2在參數1開始部分共有的字元串/

StringUtils.difference("灌灌灌灌","灌灌灌灌啊啊");//結果是:啊啊

/13.查找,不區分大小寫,沒有找到傳回-1/

StringUtils.indexOfIgnoreCase("aFabbSSdd","f");//傳回1

StringUtils.indexOfIgnoreCase("aFabbSSdd","f",2);//從指定位置開始查找,不區分大小寫--傳回-1

StringUtils.indexOfIgnoreCase("aFabbSSdd","f",1);//傳回1

StringUtils.lastIndexOfIgnoreCase("","");

StringUtils.lastIndexOfIgnoreCase("","",2);

/14.截取指定位置的字元串/

StringUtils.substring("dskabcee",3);

/結果是:abcee/

StringUtils.substring("dskabcee",3,5);

/結果是:ab/

/15.截取指定字元串之前的内容/

StringUtils.substringBefore("dskeabcee","e");

/結果是:dskeabce/

StringUtils.substringBeforeLast("dskeabcee","e");//一直找到最後一個指定的字元串

StringUtils.substringAfter("dskeabcedeh","");

/結果是:dskeabcedeh/

StringUtils.substringAfterLast("dskeabcedeh","");

/結果是:/

/16.截取參數2和參數3中間的字元/

StringUtils.substringBetween("dskeabcedeh","ds");

/結果是:null/

StringUtils.substringBetween("dskeabcedeh","ds","e");

/結果是:k/

StringUtils.substringsBetween("dskeabcedeh","ds","e");//以數組方式傳回參數2和參數3中間的字元串

/結果是:[keabce]/

/1.分割字元串,可以設定得到數組的長度,但一般情況下不要設定,這樣會發生沖突/

StringUtils.split("y5y,4454,545");//預設是按,來分割

StringUtils.split("aaaa#sss","#");

/結果是:[aaaa,sss]/

StringUtils.split("aaaa#sss#","#",2);

/2.按不同類型進行分割字元串/

StringUtils.splitByCharacterType("aa3444張三Bcss");

/結果是:[aa,3444,張三,a,B,css,B]/

StringUtils.splitByCharacterTypeCamelCase("");

/結果是:[aa,3444,張三,a,Bcss,B]/

/3.分割字元串,""不會被忽略,可以設定分割字元串的數組長度/

StringUtils.splitByWholeSeparator("aaaa#sss#","#");//""不會被忽略

/結果是:[aaaa,sss,]StringUtils.split結果是:[aaaa,sss]/

StringUtils.splitByWholeSeparator("aaaa#sss#ggg","#");//

/結果是:[aaaa,sss,ggg]/

StringUtils.splitByWholeSeparator("aaaa#sss#ggg","");//按空格分割

/結果是:[aaaa#,sss#ggg]/

StringUtils.splitByWholeSeparator("aaaa#sss#","#",2);//2設定傳回數組的最大長度

/結果是:[aaaa,sss#]/

/4.分割字元串,""不會被忽略,可以設定分割字元串的數組長度/

StringUtils.splitByWholeSeparatorPreserveAllTokens("sddssfsfasfsaf",null);

/結果是:[sddssf,sfasfsaf,]/

StringUtils.splitByWholeSeparatorPreserveAllTokens("sddssfsfasfsaf","");

/5.同上/

StringUtils.splitPreserveAllTokens("");

StringUtils.splitPreserveAllTokens("","");

StringUtils.splitPreserveAllTokens("","",3);