检查字符串是否包含给定的字符

时间:2014-01-07 01:51:47

标签: java string

我正在尝试使用while循环检查代码块是否已完成。当字符串中不再有'+',' - ','*','/','('或')'的实例时,它将达到此状态。我发布的代码是我的尝试,虽然它没有用。

while (string.contains("+-*/()") == false)
{
modifier code
}

2 个答案:

答案 0 :(得分:1)

对于稍微减少回溯和逃避的解决方案:

String quoted = Pattern.quote("+-*/()");
Pattern pattern = Pattern.compile("[" + quoted + "]");
while (pattern.matcher(string).find()) {
    // modifier code
}

更好的做法是避免在循环中制作Matcher,并在修饰符代码中使用Matcher.appendReplacement()Matcher.appendTail()在{中创建结果{1}}一次通过。但这取决于修饰符代码的作用。 (而且我仍然需要了解你如何使用这些方法。)

答案 1 :(得分:0)

您可以使用String#matches()和正则表达式,如:

while (!string.matches(".*[-+/()*]+.*"))
{
// modifier code
}

现在修改正确的正则表达式