java 判断String是否包含指定字符串的4种方式 202531189编辑
Heaven helps those who help themselves
资深码农+深耕理财=财富自由
欢迎关注![](https://files.cnblogs.com/files/Marydon20170307/gzh3.bmp)
资深码农+深耕理财=财富自由
欢迎关注
![](https://files.cnblogs.com/files/Marydon20170307/gzh3.bmp)
java 判断String是否包含指定字符串的4种方式
Created by Marydon on 2021-05-13 17:30
情景展示
判断String类型里是否包含指定字符
1 | String lineText = "cz8108_1接口业务参数:{\"EInvoiceNumber\":\"0003656276\",\"EInvoiceCode\":\"41060221\",\"AgencyCode\":\"0000510000025760\",\"RandomNumber\":\"126501\"}" ; |
方式一:indexOf()
大小写敏感(区分大小写);
存在,返回第一次出现的下标索引数;不存在,返回-1;
通常与截取字符串结合使用。
1 2 | System.out.println(lineText.indexOf( "cz8108_1接口业务参数:" )); // 0 System.out.println(lineText.indexOf( "cz8108接口业务参数:" )); // -1 |
如果想用它来判断是否指定字符串的话,可以和-1进行对比:
-1,表示不包含,>=0代表包含。
1 2 | System.out.println(lineText.indexOf( "cz8108_1接口业务参数:" ) > - 1 ); // true System.out.println(lineText.indexOf( "cz8108接口业务参数:" ) >= 0 ); // false |
方式二:contains() 推荐使用
大小写敏感(区分大小写);
存在,返回true;不存在,返回false;
1 2 | System.out.println(lineText.contains( "cz8108_1接口业务参数:" )); // true System.out.println(lineText.contains( "cz8108接口业务参数:" )); // false |
点击contains()方法,我们可以查看源码,会发现:
它的使用方法和方式一,一模一样
方式三:正则表达式
同上
1 2 3 4 | Pattern p = Pattern.compile( "cz8108_1接口业务参数:" ); System.out.println(p.matcher(lineText).find()); // true p = Pattern.compile( "cz8108接口业务参数:" ); System.out.println(p.matcher(lineText).find()); // false |
方式四:第三方工具类
由apache的commons-lang3.jar包提供
1 2 | System.out.println(StringUtils.contains(lineText, "cz8108_1接口业务参数:" )); // true System.out.println(StringUtils.contains(lineText, "cz8108接口业务参数:" )); // false |
有个使用的功能是,它提供了不区分大小的方法:
1 2 | System.out.println(StringUtils.containsIgnoreCase(lineText, "einvoicenumber" )); // true System.out.println(StringUtils.containsIgnoreCase(lineText, "EINVOICENUMBER" )); // true |
containsIgnoreCase()比较实用。
与君共勉:最实用的自律是攒钱,最养眼的自律是健身,最健康的自律是早睡,最改变气质的自律是看书,最好的自律是经济独立 。
您的一个点赞,一句留言,一次打赏,就是博主创作的动力源泉!
↓↓↓↓↓↓写的不错,对你有帮助?赏博主一口饭吧↓↓↓↓↓↓
本文来自博客园,作者:Marydon,转载请注明原文链接:https://www.cnblogs.com/Marydon20170307/p/14765472.html
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Java 中堆内存和栈内存上的数据分布和特点
· 开发中对象命名的一点思考
· .NET Core内存结构体系(Windows环境)底层原理浅谈
· C# 深度学习:对抗生成网络(GAN)训练头像生成模型
· .NET 适配 HarmonyOS 进展
· 手把手教你更优雅的享受 DeepSeek
· AI工具推荐:领先的开源 AI 代码助手——Continue
· 探秘Transformer系列之(2)---总体架构
· V-Control:一个基于 .NET MAUI 的开箱即用的UI组件库
· 乌龟冬眠箱湿度监控系统和AI辅助建议功能的实现
2018-05-13 eclipse A Java Runtime Environment(JRE)