您的位置:

Java中如何使用String.contains方法

介绍

对于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中非常实用的工具方法,能够帮助我们更加高效地进行字符串操作。