如何在不使用Java模式匹配的情况下匹配字符串中的多个文本?

时间:2018-11-21 16:11:00

标签: java spring

我在Java中具有以下字符串:

"JAVA_SAMPLE _NEW=AT_YYUYU12_PROGRAM" 

是否可以使用String.contains来匹配"JAVA_SAMPLE" ^ "PROGRAM"?我想匹配两个字符串,但是我不想使用模式匹配。

1 个答案:

答案 0 :(得分:0)

也许您可以使用Lambda表达式来实现

public boolean matches(String source, Collection<String> strings) {
    //Omitting source null check and empty collection logic here to keep it simple
    return strings.stream().allMatch(s -> source.contains(s));
}

此方法具有一个参数,该参数接收要评估的所有字符串,在此处示例如何使用它:

public static void main(String[] args) {
    String x = "JAVA_SAMPLE _NEW=AT_YYUYU12_PROGRAM";
    Collection<String> strings = Arrays.asList("JAVA_SAMPLE", "PROGRAM");
    Matches m = new Matches();
    if(m.matches(x, strings)) {
        System.out.println("All good!");
    }
}