我正在使用soapui groovy 脚本。 我想使用以下代码从列表中删除重复项:
def myStr = "aaaa ; bbbb ; ccccc"
def myList = myStr.split(";")
myList = myList.unique()
但是当我调整代码时出现异常:
No signature of method: [Ljava.lang.String;.unique() is applicable for argument types: () values: [] Possible solutions: minus(java.lang.Object), minus(java.lang.Iterable), minus([Ljava.lang.Object;), size(), use([Ljava.lang.Object;), use(java.lang.Class, groovy.lang.Closure)
最佳答案
使用tokenize()
而不是split()
,它返回一个ArrayList,而split则返回一个字符串数组。
def myStr = "aaaa ; bbbb ; ccccc;"
def myList = myStr.tokenize(";")*.trim()
myList = myList.unique()
如果您使用 split()
或将 String 数组转换为 Set
,则使用 toList()
。
但是,根据您想要从列表中删除重复项目的问题,但我没有看到任何重复项目。如果您想从列表项中删除重复的字符串,请使用:
myList = myList.unique().collect { it.toSet().join() }
关于string - Groovy 使用 unique 函数从列表中删除重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25290481/