关于C# 文件查找分组的问题......~~~~~~

Snoworld 2012-04-14 11:36:25
在一个文件夹下面有以下一些文件:

1111-20120413010244320-2-3-000011.jpg
1111-20120413010244990_2-3-000012.jpg
1111-20120413010245840-2-3-000013.jpg


1111_20120413012540720-3-3-000011.jpg
1111_20120413012541540_3-3-000012.jpg

1111-20120413012932120-2-3-000011.jpg
1111-20120413014528000-3-3-000011.jpg

1111_20120413022749400_1-3-000011.jpg
1111_20120413022751210_1-3-000012.jpg
1111-20120413022752290-1-3-000013.jpg

1111_20120413022749400_1-3-000021.jpg
1111_20120413022751210_1-3-000022.jpg
1111-20120413022752290-1-3-000023.jpg

文件名末位的1、2、3为一组图片,
找出以上文件中,第3项内容相同且第5项编号(前5位,例如00001)相同的1、2、3三张图片,列出三个文件名,其余不足3张的则删除处理,应得到以下三组结果:

1111-20120413010244320-2-3-000011.jpg,1111-20120413010244990_2-3-000012.jpg,1111-20120413010245840-2-3-000013.jpg

1111_20120413022749400_1-3-000011.jpg,1111_20120413022751210_1-3-000012.jpg,1111-20120413022752290-1-3-000013.jpg

1111_20120413062749400_1-3-000021.jpg,1111_20120413062751210_1-3-000022.jpg,1111-20120413062752290-1-3-000023.jpg
...全文
152 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
anzhiqiang_touzi 2012-04-16
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
上述分为5组。判断每组中是否个数为3,不为3的排出。剩下的就是以上的结果了
[/Quote]
EnForGrass 2012-04-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 hank212 的回复:]

[/Quote]
我觉得你这问题关键在分组上,分组搞定了,就按1楼的方法
蝶恋花雨 2012-04-15
  • 打赏
  • 举报
回复
上述分为5组。判断每组中是否个数为3,不为3的排出。剩下的就是以上的结果了
threenewbee 2012-04-15
  • 打赏
  • 举报
回复
var query = from x in Directory.GetFiles("X:\\path", "*-*-*-*-*.jpg", SearchOption.TopDirectoryOnly)
group x by x.Split('-')[2] + x.Split('-')[3] into g
where g.Count() > 3
select g;
foreach (var item in query)
{
Console.WriteLine(string.Join(", ", item));
}
bdmh 2012-04-15
  • 打赏
  • 举报
回复
这些文件名读到数组中后,最好做一个排序,这样方便你顺序遍历判断,排序后,逐个判断不难吧,你的规则很简单

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧