StringUtils 工具类的用法

简介: 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);

目录
相关文章
|
Arthas 测试技术 网络安全
The telnet port 3658 is used by process
是否在本地使用Arthas的时候,遇到The telnet port 3658 is used by process 34725 instead of target process 44848, you will connect to an unexpected process的异常,其实解决方法很简单。
3445 0
The telnet port 3658 is used by process
|
7月前
|
人工智能 Linux API
OpenClaw(Clawdbot)保姆级部署手册:阿里云无影云电脑+本店多系统搭建+免费大模型配置指南
2026年,OpenClaw(Clawdbot)作为基于MIT开源协议的本地优先AI智能体执行网关,凭借“能听懂指令、能动手执行”的核心优势,成为个人与中小企业实现AI自动化落地的优选工具。与传统对话式AI不同,OpenClaw更像是“能直接上手干活的员工”,无需手动干预即可完成文件管理、网页自动化、任务编排等全流程操作,真正实现“指令一出,万事落地”。
878 0
|
机器学习/深度学习 数据采集 搜索推荐
企业大数据的“超级大脑”:AIIData数据中台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
企业大数据的“超级大脑”:AIIData数据中台
|
机器学习/深度学习 算法 数据可视化
使用Python实现深度学习模型:智能食品配送优化
使用Python实现深度学习模型:智能食品配送优化
604 2
Java项目中高精度数值计算:为何BigDecimal优于Double
在Java项目开发中,涉及金额计算、面积计算等高精度数值操作时,应选择 `BigDecimal` 而非 `Double`。`BigDecimal` 提供任意精度的小数运算、多种舍入模式和良好的可读性,确保计算结果的准确性和可靠性。例如,在金额计算中,`BigDecimal` 可以精确到小数点后两位,而 `Double` 可能因精度问题导致结果不准确。
704 1
java判断两个时间是不是同一天的方法、Java中判断是否是当天时间
这篇文章提供了两种Java中判断两个时间是否为同一天的方法:一种是使用Calendar类比较年、月、日,另一种是使用SimpleDateFormat类将日期格式化为"yyyyMMdd"格式后进行字符串比较。
java判断两个时间是不是同一天的方法、Java中判断是否是当天时间
|
PHP 数据安全/隐私保护
PHP基于 OpenSSL 实现国密 SM4 加解密
PHP基于 OpenSSL 实现国密 SM4 加解密
3150 0
|
安全 网络协议 数据挖掘
在Linux中,如何进行网络抓包?
在Linux中,如何进行网络抓包?
Java系列 之除字符串中的空格(trim())
这篇文章介绍了Java中`String`类的`trim()`方法,用于去除字符串首尾的空格,并指出`trim()`只能去除半角空格,对于全角空格需要先用`replace()`方法替换成半角空格再进行去除。
|
安全 网络安全 网络协议
【信安评估】2024年全国职业院校技能大赛高职组“信息安全管理与评估”安徽省选拔赛赛项规程
【信安评估】2024年全国职业院校技能大赛高职组“信息安全管理与评估”安徽省选拔赛赛项规程
2554 0
【信安评估】2024年全国职业院校技能大赛高职组“信息安全管理与评估”安徽省选拔赛赛项规程

热门文章

最新文章