gpt4 book ai didi

C# 文件名比较列表

转载 作者:行者123 更新时间:2023-11-30 19:54:46 26 4
gpt4 key购买 nike

我的编码技能有一个简单但非常艰巨的任务。

基本上我有一个任务来解析特定文件夹中的所有文件名(这个执行正常)但是我必须比较这些文件名并选择文件名的特定部分中具有最新(最大)编号的文件名。一个例子:

0074-105-NVK.1.p7.ver.1.pdf
0074-105-NVK.1.p7.ver.2.pdf
0074-105-NVK.1.p7.ver.3.pdf

我感兴趣的部分是“ver.1”程序应该从中选择最高的一个并删除其他文件。而且我真的不知道如何实现这个文件名比较。

最佳答案

我建议借助正则表达式提取版本信息并按此版本排序:

  string[] files = new string[] {
"0074 - 105 - NVK.1.p7.ver.1.pdf",
"0074 - 105 - NVK.1.p7.ver.2.pdf",
"0074 - 105 - NVK.1.p7.ver.3.pdf", };

string pattern = @"ver\.(?<version>[0-9]+(\.[0-9]+)*)[^0-9]+$";

var result = files
.Select(file => new {
name = file,
ver = new Version(Regex.Match(file, pattern).Groups["version"].Value + ".0")
})
.OrderByDescending(item => item.ver)
.Select(item => item.name)
.FirstOrDefault();

关于C# 文件名比较列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40736035/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com