如何使用 Linq 对字符串列表进行分组?

时间:2021-06-19 04:20:19

标签: vb.net linq

我有这样的列表(字符串):

C:\Users\..\Documents\abc_1.1.pdf     ->file name abc
C:\Users\..\Documents\abc_1.2.pdf
C:\Users\..\Documents\abc_2.1.pdf
C:\Users\..\Documents\xxxxxx_1.1.pdf  ->file name xxxxxx
C:\Users\..\Documents\xxxxxx_2.1.pdf

如果文件具有相同的名称,我如何使用 linq 并将这些文件分组。

比如上面的ex,我想得到2组,所以我用下面的代码:

listfile.GroupBy(Function(filepath) As String
                                      Dim filename = Path.GetFileNameWithoutExtension(filepath)
                                      Return Regex.Match(filename , ".+(?=_\d+\.\d+)").Value.ToString()
                 End Function)

但是这个返回结果是所有文件。 我可以获得收集子集吗?

1 个答案:

答案 0 :(得分:1)

我用下划线分割了刺并选择了第一个元素。然后应用tags方法

Distinct
相关问题