介绍
对于Java开发者来说,String.contains()方法是常用的字符串操作之一。它可以检查一个字符串是否包含了另一个字符串,当我们需要判断字符串是否包含某些关键字时,这个方法会非常有用。本文将详细介绍Java中如何使用String.contains()方法。
正文
1. String.contains()方法概述
String.contains()方法是一个非常便捷的方法,它可以判断一个字符串是否包含了另一个字符串。这个方法的语法如下:
public boolean contains(CharSequence s)
其中,CharSequence是一个接口,表示可以被当做字符序列的类型,包括String,StringBuilder,StringBuffer等。
2. 使用String.contains()方法判断一个字符串中是否包含指定字符或字符串
判断一个字符串中是否包含指定字符或字符串是String.contains()方法最常见的使用场景。下面是一个例子:
String str = "Hello, world!"; boolean contains = str.contains("world"); if (contains) { System.out.println("包含"); } else { System.out.println("不包含"); }
在上面的例子中,我们首先定义了一个字符串变量str,然后使用String.contains()方法判断str是否包含了"world"这个字符串。如果包含,则输出"包含",否则输出"不包含"。
3. 使用String.contains()方法判断一个字符串中是否包含多个指定字符或字符串
判断一个字符串中是否包含多个指定字符或字符串也可以用String.contains()方法实现。这里我们可以使用Java提供的Stream API,将多个指定字符或字符串转化为一个流,然后使用Stream.allMatch()方法判断是否全都存在。
String str = "Hello, world!"; boolean containsAll = Stream.of("hello", "world") .allMatch(str::toLowerCase().contains); if (containsAll) { System.out.println("包含所有指定字符或字符串"); } else { System.out.println("不包含所有指定字符或字符串"); }
在上面的例子中,我们使用Stream.of()方法将多个指定的字符串转化为一个流,然后使用Stream.allMatch()方法判断是否所有的字符串全部存在于str中。其中,str::toLowerCase().contains相当于Lambda表达式str1 -> str1.toLowerCase().contains(str)。
4. 使用String.contains()方法忽略大小写匹配字符串
String.contains()方法默认匹配字符串时是区分大小写的,如果需要忽略大小写匹配字符串,可以使用Java提供的正则表达式。下面是一个例子:
String str = "Hello, world!"; boolean contains = str.matches("(?i).*World.*"); if (contains) { System.out.println("包含"); } else { System.out.println("不包含"); }
在上面的例子中,我们使用matches()方法和正则表达式"(?i).*World.*"判断str中是否包含"world"字符串,其中"(?i)"表示忽略大小写匹配。
5. 结论
本文详细介绍了Java中如何使用String.contains()方法,包括判断一个字符串中是否包含指定字符或字符串、判断一个字符串中是否包含多个指定字符或字符串、使用String.contains()方法忽略大小写匹配字符串等内容。这些都是Java中非常实用的工具方法,能够帮助我们更加高效地进行字符串操作。