gpt4 book ai didi

java - 测试字符串是否包含数组中的任何字符串

转载 作者:行者123 更新时间:2023-12-02 00:33:25 25 4
gpt4 key购买 nike

如何测试字符串以查看它是否包含数组中的任何字符串?

而不是使用

if (string.contains(item1) || string.contains(item2) || string.contains(item3))

最佳答案

编辑:这是使用 Java 8 Streaming API 的更新。干净多了。仍然可以与正则表达式结合使用。

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

此外,如果我们将输入类型更改为列表而不是数组,我们可以使用 items.stream().anyMatch(inputStr::contains) .

您还可以使用.filter(inputStr::contains).findAny()如果您想返回匹配的字符串。

重要提示:上面的代码可以使用 parallelStream() 来完成但大多数时候这实际上会影响性能。请参阅this question for more details on parallel streaming .

<小时/>

原始答案稍显过时:

这是一个(非常基本的)静态方法。请注意,比较字符串区分大小写。使其不区分大小写的原始方法是调用 toLowerCase()toUpperCase()在输入和测试字符串上。

如果您需要做比这更复杂的事情,我建议您查看 PatternMatcher类(class)并学习如何做一些正则表达式。一旦理解了这些,您就可以使用这些类或 String.matches()辅助方法。

public static boolean stringContainsItemFromList(String inputStr, String[] items)
{
for(int i =0; i < items.length; i++)
{
if(inputStr.contains(items[i]))
{
return true;
}
}
return false;
}

关于java - 测试字符串是否包含数组中的任何字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57995890/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com