Java - 带有两个跟随parenthisis错误的字符串

时间:2017-07-25 08:05:16

标签: java string

我遇到问题,因为我试图检查字符串是否包含以下任何字符:

{ "[(]", "[)]", "AND", "OR", "NOT", "NEAR", "NEAR/1", "NEAR/2", "NEAR/3", "NEAR/4", "NEAR/5", "NEAR/6", "NEAR/7", "NEAR/8", "NEAR/9" }

我有这个功能

public static boolean stringContainsItemFromList(String inputStr, String[] items) {
    return Arrays.stream(items).parallel().anyMatch(inputStr::contains);
}

除非被比较的字符串类似于

,否则它的效果非常好
"((Words and numbers))"

也就是说,有两个跟随父母。

不应该像字符串中只有一对父母一样检查它吗?我做错了什么?

感谢您的时间。

2 个答案:

答案 0 :(得分:0)

根据评论:

  

String :: contains使用CharSequence来匹配非正则表达式。

- 飞行

  

我的第一个猜测是将“[(]”和“[)]”替换为“(”分别用“)”

- Lino

答案 1 :(得分:0)

正如我对OP所做的评论一样,我会将其作为答案发布,以便解决这个问题。

"[(]""[)]"分别用"("")"替换。