检查Groovy

时间:2017-05-09 15:40:20

标签: groovy

我发现this post描述了如何将两个阵列相互比较得很好。但是,如果我有一些来自用户的输入字符串,例如" 20394875apple29038475"或者"我爱苹果"我想检查字符串数组中的任何字符串是否存在于用户给定的字符串中,无论大小写如何,我如何在groovy中执行此操作?

让我们想象一下我们正在检查的字符串数组(" apple"," banana"," cherry")。

在这种情况下,我们将返回true,因为子串" apple"存在于用户给定的字符串" 20394875apple29038475"

......我认为最好的方法是这样的吗?:

boolean fruitFound = false

for (item in fruitArray){
    if(usrResponse.contains(item)){
        responseFound = true
    }

2 个答案:

答案 0 :(得分:5)

fruitFound = fruitArray.any{usrResponse.contains(it)}

答案 1 :(得分:0)

检查一下:

def fruits = ["apple","banana","cherry"]
def str = '20394875banana29038475'
assert fruits.findAll{str.contains(it)}.any{true}

编辑:忽略大小写

assert fruits.findAll{str.toLowerCase().contains(it.toLowerCase())}.any{true}

assert fruits*.toLowerCase().findAll{str.toLowerCase().contains(it)}.any{true}