如何测试一个字符串是否包含数组中任何字符串?
不要使用
if (string.contains(item1) || string.contains(item2) || string.contains(item3))
如何测试一个字符串是否包含数组中任何字符串?
不要使用
if (string.contains(item1) || string.contains(item2) || string.contains(item3))
如果你正在寻找不区分大小写的匹配,可以使用模式
Pattern pattern = Pattern.compile("\\bitem1 |item2\\b",java.util.regex.Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(input);
if (matcher.find()) {
...
}
if ( arrayOf("one", "two", "three").find{ "onetw".contains(it) } != null ) {
doStuff()
}
private boolean containsKeyword(String line, String[] keywords)
{
String[] inputWords = line.split(" ");
for (String inputWord : inputWords)
{
for (String keyword : keywords)
{
if (inputWord.equalsIgnoreCase(keyword))
{
return true;
}
}
}
return false;
}
import org.apache.commons.lang3.StringUtils;
...
if(StringUtils.containsAny(string, item1, item2, item3)){
// your code
}
以下代码应该适用于您正在搜索的数组Strings:
Arrays.binarySearch(Strings,"mykeytosearch",mysearchComparator);
其中mykeytosearch是您想要在数组中测试存在性的字符串。 mysearchComparator - 是一个比较器,用于比较字符串。
有关更多信息,请参阅Arrays.binarySearch。
if (Arrays.asList(array).contains(string))