如何在Java中找到带有空格的字符串的子字符串?

Sam*_*Sam 1 java string substring

我想检查字符串是否包含特定的子字符串并使用CONTAINS().

但这里的问题是空间问题.

Ex- str1 ="c not in(5,6)"

我想检查str是否包含NOT IN所以我使用的是str.contains("not in")..

但问题是NOT和IN之间的空间没有决定,即也可以有5个空格.

如何解决我可以找到不包含任何空格的子字符串...

dac*_*cwe 6

使用正则表达式(Pattern)Matcher来匹配您的字符串.

正则表达式应该是"not\\s+in"("not",后跟一些空格字符,后跟"in"):

public static void main(String[] args) {

    Matcher m = Pattern.compile("not\\s+in").matcher("c not  in(5,6)");

    if (m.find())
        System.out.println("matches");
} 
Run Code Online (Sandbox Code Playgroud)

请注意,有一个名为String的方法matches(String regexp).您可以使用正则表达式".*not\\s+in.*"来获得匹配,但这不是执行模式匹配的好方法.