概述
I have an array of strings pointAddress and I want to check each entry if it contains strings from another array, validPointTypes.
def pointAddress = ['bacnet://240101/AV:3', 'bacnet://240101/BV:9', 'bacnet://240101/AV:7', 'bacnet://240101/BALM:15']
def validPointTypes = ['AV', 'AI', 'AO', 'ANI', 'ANO', 'BV', 'BI', 'BO', 'BNI', 'BNO']
Right now I just have a giant if statement.
j = pointName.size()
for(j=j-1; j>=0;j--) {
if(pointAddress[j]) {
if(pointAddress[j].contains('AV') || pointAddress[j].contains('AI') ||
pointAddress[j].contains('AO') || pointAddress[j].contains('ANI') ||
pointAddress[j].contains('ANO') || pointAddress[j].contains('BV') ||
pointAddress[j].contains('BI') || pointAddress[j].contains('BO') ||
pointAddress[j].contains('BNI') || pointAddress[j].contains('BNO')) {
} else {
pointAddress.remove(j)
pointName.remove(j)
m++
}
} else {
pointName.remove(j)
m++
}
}
There's gotta be a better way, right?
解决方案def valid = pointAddress.findAll { a ->
validPointTypes.any { a.contains(it) }
}
Should do it
最后
以上就是俊秀彩虹为你收集整理的groovy if 判断字符串,Groovy:如何检查一个字符串是否包含数组的任何元素?的全部内容,希望文章能够帮你解决groovy if 判断字符串,Groovy:如何检查一个字符串是否包含数组的任何元素?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复