groovy列表比较

inkz8wg9  于 2022-11-01  发布在  其他
关注(0)|答案(1)|浏览(167)

我有一个4目录的例子列表:

[dir1,dir2/dir3,dir4,dir7]

然后我有第二个清单:这些是完整的完整文件名,带有路径

[dir1/file1.txt,dir8/file2.ext,dir4/dir5/dir6/file4.ext, dir2/dir3/file4.ext]

我想找到交集,在这种情况下返回:

[dir1,dir4,dir2/dir3]
yc0p9oo0

yc0p9oo01#

假设这些是字符串列表。
假设您只想知道4个目录 * 前缀 * 是否为第二个列表条目。
假设你没有使用正则表达式的要求😉
在变量中有两个列表,如下所示:

def a = ['dir1','dir2/dir3','dir4','dir7']
def b = ['dir1/file1.txt','dir8/file2.ext','dir4/dir5/dir6/file4.ext', 'dir2/dir3/file4.ext']

然后你可以做:

def result = a.findAll {first ->
    b.any { it.startsWith(first) }
}

相关问题