Java字符串包含检查代码示例

需积分: 5 0 下载量 125 浏览量 更新于2024-10-29 收藏 701B ZIP 举报
资源摘要信息: "Java代码实现判断字符串中是否含有另一个字符串的方法" 在Java编程语言中,判断一个字符串(我们称之为母字符串)是否包含另一个字符串(子字符串)是常见的操作需求。为了实现这一功能,Java提供了多种方法,其中最直观的就是使用String类的indexOf()方法。该方法会返回子字符串在母字符串中首次出现的位置索引(从0开始计数),如果没有找到,则返回-1。 除了indexOf()方法之外,还可以使用substring()方法、contains()方法、以及正则表达式来判断字符串中是否含有另一个字符串。这里将详细介绍indexOf()和contains()方法的使用,以及它们在不同场景下的优势和注意事项。 ### indexOf()方法 indexOf()是String类的一个成员方法,能够搜索指定的字符串(子字符串)在母字符串中首次出现的位置索引。如果搜索成功,返回子字符串开始位置的索引;如果搜索失败,返回-1。该方法有多个重载版本,允许指定搜索的起始位置,并区分大小写。 **基本使用:** ```java String str = "Hello, world!"; String substr = "world"; int index = str.indexOf(substr); if (index != -1) { System.out.println("找到了子字符串,位置索引:" + index); } else { System.out.println("未找到子字符串"); } ``` **忽略大小写:** ```java int indexIgnoreCase = str.toLowerCase().indexOf(substr.toLowerCase()); if (indexIgnoreCase != -1) { System.out.println("忽略大小写后找到了子字符串,位置索引:" + indexIgnoreCase); } ``` ### contains()方法 从Java 1.5版本开始,String类新增了contains()方法,用于判断母字符串是否包含子字符串。这个方法简单易用,返回一个布尔值,true表示包含,false表示不包含。 **基本使用:** ```java String str = "Hello, world!"; String substr = "world"; boolean contains = str.contains(substr); if (contains) { System.out.println("母字符串包含子字符串"); } else { System.out.println("母字符串不包含子字符串"); } ``` ### substring()方法 substring()方法可以用来获取字符串的一部分,虽然它本身不用于判断是否包含子字符串,但可以通过一些逻辑组合用来间接实现判断功能。结合indexOf()方法,可以在搜索到子字符串的情况下截取子字符串前后的母字符串片段。 **基本使用:** ```java String str = "Hello, world!"; String substr = "world"; int index = str.indexOf(substr); if (index != -1) { String beforeSubstr = str.substring(0, index); String afterSubstr = str.substring(index + substr.length()); System.out.println("子字符串前的母字符串:" + beforeSubstr); System.out.println("子字符串:" + substr); System.out.println("子字符串后的母字符串:" + afterSubstr); } ``` ### 正则表达式 在Java中,还可以使用正则表达式(Pattern和Matcher类)来完成复杂的字符串匹配需求,包括判断子字符串是否存在。这种方法适用于更复杂的匹配规则,但相对来说,实现起来更为复杂,且执行效率可能低于直接使用indexOf()或contains()方法。 **基本使用:** ```java String str = "Hello, world!"; String substr = "world"; Pattern pattern = ***pile(Pattern.quote(substr)); Matcher matcher = pattern.matcher(str); if (matcher.find()) { System.out.println("使用正则表达式找到了子字符串"); } ``` ### 总结 在处理判断字符串是否包含另一个字符串的需求时,推荐首先使用indexOf()方法,因为它简单且效率高。当需要忽略大小写或对匹配规则有更多要求时,可以根据情况选择contains()方法或正则表达式。在实际开发中,选择合适的方法可以提高代码的可读性和运行效率。