我正在运行一个jenkins声明性管道作业,我试图比较列表中的元素,并只获取两个元素中相同的部分。
示例:
myList = [/lambda/billMechanism/createCustomerOrderBill, /lambda/billMechanism/createCustomerOrderBill/src, /lambda/billMechanism/createCustomerOrderBill/test, /lambda/billMechanism/isLastPaidBillInCracePeriod, /lambda/billMechanism/isLastPaidBillInCracePeriod/src, /lambda/billMechanism/isLastPaidBillInCracePeriod/test,/lambda/copyPaymentInfo, /lambda/copyPaymentInfo/src, /lambda/copyPaymentInfo/test, /lambda/custOrdWorkflFinancialCharge, /lambda/custOrdWorkflFinancialCharge/src, /lambda/custOrdWorkflFinancialCharge/test,]
我的预期输出:
myList = [/lambda/billMechanism/createCustomerOrderBill,/lambda/billMechanism/isLastPaidBillInCracePeriod, /lambda/copyPaymentInfo, /lambda/custOrdWorkflFinancialCharge,]
在这里,我只是试图通过比较同一列表中的两个元素来获取公共部分。
我试图迭代for循环,但花费了更多的时间。
`for (int i = 0; i < myList.size(); i++) {
s1 = "${myList[i]}"
for (int j = i+1; j < myList.size(); j++) {
sh "echo ${myList[j]}"
}
}`
1条答案
按热度按时间oxf4rvwz1#
最简单的方法是使用
groupBy
并删除变量部分,如/src
和/test
: