您的位置:

Java工程师如何判断字符串是否包含某个字符

一、使用 String.contains() 函数判断字符串是否包含某个字符

public class StringContainsExample {
    public static void main(String[] args) {
        String str = "hello world";
        System.out.println(str.contains("hello")); // true
        System.out.println(str.contains("Hi")); // false
    }
}

String 类提供了 contains() 函数来判断一个字符串是否包含另一个字符串。该函数返回一个 boolean 类型的值,如果包含,则返回 true,否则返回 false。

可以看到,在上面的示例中,我们判断字符串 str 是否包含子串 "hello""Hi",结果分别为 true 和 false。

二、使用 String.indexOf() 函数判断字符串是否包含某个字符

public class StringIndexOfExample {
    public static void main(String[] args) {
        String str = "hello world";
        System.out.println(str.indexOf("world")); // 6
        System.out.println(str.indexOf("Java")); // -1
    }
}

还可以使用 indexOf() 函数来查找一个字符串是否包含另一个字符串。如果包含,则返回子串的起始位置,否则返回 -1。

在上面的示例中,我们判断了字符串 str 是否包含子串 "world""Java",结果分别为 6 和 -1。

三、使用正则表达式判断字符串是否包含某个字符

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegexExample {
    public static void main(String[] args) {
        String str = "hello world";
        Pattern pattern = Pattern.compile("hello");
        Matcher matcher = pattern.matcher(str);
        
        if (matcher.find()) {
            System.out.println("Found!");
        } else {
            System.out.println("Not found.");
        }
    }
}

还可以使用正则表达式来判断字符串是否包含某个字符。通过编译正则表达式,并使用 Matcher 类来匹配字符串,如果字符串包含正则表达式所描述的字符,则返回 true,否则返回 false。

在上面的示例中,我们使用正则表达式 "hello" 来匹配字符串 str,如果匹配成功,则输出 "Found!",否则输出 "Not found."

四、使用 Java 8 Stream API 判断字符串是否包含某个字符

import java.util.Arrays;

public class StreamExample {
    public static void main(String[] args) {
        String str = "hello world";
        boolean result = Arrays.stream(str.split(" ")).anyMatch("hello"::equals);
        
        if (result) {
            System.out.println("Found!");
        } else {
            System.out.println("Not found.");
        }
    }
}

如果使用 Java 8 或以上的版本,还可以使用 Stream API 来判断字符串是否包含某个字符。通过使用 split() 函数将字符串分割成字符串数组,然后使用 anyMatch() 函数来判断是否存在相应的字符串。

在上面的示例中,我们对字符串 str 使用空格进行分割,然后使用 anyMatch() 函数来判断是否存在子串 "hello"。输出结果同之前的示例。