您的位置:

Java判断字符串中是否包含某个字符串

一、使用String的contains()

String类中的contains()方法是判断一个字符串是否包含另一个字符串的最简单的方法。其语法如下:

public boolean contains(CharSequence s)

其中,参数s可以是一个char或者String类型的字符串。

示例代码:

String str1 = "hello world";
String str2 = "world";
if(str1.contains(str2)){
    System.out.println("包含");
}else{
    System.out.println("不包含");
}

在上面的示例中,str1包含字符串"world",因此输出结果为"包含"。

二、使用正则表达式

如果需要判断是否包含多个不同的字符串或者字符串的匹配模式比较复杂,可以使用正则表达式。Java的正则表达式语法和其他语言的正则表达式语法类似,具体可以参考Java官方文档。判断字符串中是否包含某个字符串可以使用String类的matches()方法或者Pattern类的matcher()方法。

使用String类的matches()方法示例代码:

String str1 = "hello world";
String pattern = ".*?wor.*?";
if(str1.matches(pattern)){
    System.out.println("包含");
}else{
    System.out.println("不包含");
}

在上面的示例中,使用正则表达式".*?wor.*?"匹配任意个字符,包含子字符串"wor",因此输出结果为"包含"。

使用Pattern类和Matcher类的示例代码:

String str1 = "hello world";
String pattern = "wor";
Pattern p = Pattern.compile(pattern);
Matcher m = p.matcher(str1);
if(m.find()){
    System.out.println("包含");
}else{
    System.out.println("不包含");
}

在上面的示例中,先通过Pattern类的compile()方法编译正则表达式,然后通过Matcher类的find()方法在字符串中寻找匹配的结果,如果有匹配的结果,则表示包含子字符串"wor",输出结果为"包含"。

三、使用Apache Commons Lang库的StringUtils类

如果需要处理字符串的功能比较复杂,可以使用Apache Commons Lang库提供的StringUtils类。StringUtils类包含了非常多的处理字符串的方法,可以方便地判断字符串是否包含某个字符串。

使用StringUtils类的示例代码:

String str1 = "hello world";
String str2 = "world";
if(StringUtils.contains(str1, str2)){
    System.out.println("包含");
}else{
    System.out.println("不包含");
}

在上面的示例中,使用StringUtils类的contains()方法判断字符串str1是否包含字符串str2,如果包含,则输出结果为"包含"。

四、总结

本文介绍了Java判断字符串中是否包含某个字符串的三种方法,分别是使用String的contains()方法、使用正则表达式和使用Apache Commons Lang库的StringUtils类。在实际开发中,应根据具体情况选择最合适的方法。