随笔 - 1357  文章 - 0  评论 - 1104  阅读 - 1941万

StringUtils工具类用法

复制代码
/*1.字符串以prefix开始*/
StringUtils.startsWith("sssdf","");//结果是:true
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
StringUtils.startsWith("sssdf","sssdf");//结果是:true

/*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");//一直找到最后一个指定的字符串
/*结果是:dskeabce*/

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","");
/*结果是:[sddssf,sfasfsaf,]*/

/*5.同上*/
StringUtils.splitPreserveAllTokens("");
StringUtils.splitPreserveAllTokens("","");
StringUtils.splitPreserveAllTokens("","",3);
复制代码

---------------------------------------------------------------------------------
Blog:http://www.cnblogs.com/linjiqin/
Hadoop交流群(250363249)、Java+Oracle交流群(158560018)

题外话:
本人来自铁观音的发源地——泉州安溪,有需要正宗安溪铁观音的友友欢迎Q我:416501600。

posted on   Ruthless  阅读(41451)  评论(1编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示