次のような 2 つのリストがあります。
def justNames = ["test", "test1"]
def namesWithNumber = ["test-1", "test-2", "test1-2"]
次の条件で、各ペアが justNames からの要素を 1 つと、namesWithNumber からの要素を 1 つ持つように、ペアのリストを作成したいと考えています。justNames の要素は、namesWithNumber の要素のハイフンの前の部分と完全に一致する必要があります。そう:
def pairs = [["test", "test-1"], ["test1", "test1-2"], ["test", "test-2"]]
リストをループする最良の方法が何であるかを理解するのに苦労しています。私の実際のコードでは、justNames は非常に大きく、namesWithNumber ははるかに小さいです。ペアのリストを作成するグルーヴィーな方法を提案できる人はいますか? それが重要または役立つ場合、justNames と namesWithNumber は、次のような正規表現を使用して単一のリストから作成されました。
def testList = ["test", "test-1", "test1", "test-2", "test1-2"]
def justNames = []
def namesWithNumber = []
testList.each {
if (it =~ /-\d$/) {
namesWithNumber << it
} else {
justNames << it
}
}
ありがとう!