我如何只替换Groovy中的必填字段

时间:2011-12-28 17:28:47

标签: groovy replace

我有两个清单:

a = [1,2,3]
b = ["?",1,2,"?",4,"?"]

在第二个列表中,我需要将第一个"?"替换为第一个元素(即a[0]),将第二个"?"替换为a[1],依此类推(如果"?" = a的大小)和修改后的结果b

我怎么能以这种方式做到这一点?

提前致谢。

1 个答案:

答案 0 :(得分:4)

一些简单的解决方案:

这会将结果返回到新列表中(您可以将此结果分配给b变量)

def i = 0
b.collect { it == "?" ? a[i++] : it }

这会修改b

引用的列表
a.each { b[b.indexOf("?")] = it }