You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用C#从文件夹路径列表中提取YYYY/MM/DD格式日期

提取路径中的日期部分实现方案

针对你给出的固定格式路径,这里提供几种实用的C#实现方式:

方法一:字符串分割拼接(最直接,适合格式固定场景)

你的路径格式固定为root/xxx/YYYY/MM/DD/filename.txt,按/分割后,日期部分对应数组索引2、3、4的三段内容,直接提取拼接即可:

List<string> lstPaths = new List<string>() {
  "root/input/2023/03/10/filename1.txt",
  "root/output/2023/03/14/filename2.txt",
};

List<string> dateParts = new List<string>();
foreach (var path in lstPaths)
{
    var segments = path.Split('/');
    // 增加判断避免索引越界
    if (segments.Length >= 5)
    {
        string date = $"{segments[2]}/{segments[3]}/{segments[4]}";
        dateParts.Add(date);
    }
}

// 最终结果:["2023/03/10", "2023/03/14"]

方法二:正则表达式(适配格式略有变化的场景)

如果后续路径前缀可能变动,但日期部分始终是YYYY/MM/DD格式(4位数字/2位数字/2位数字),可以用正则匹配提取:

using System.Text.RegularExpressions;

List<string> lstPaths = new List<string>() {
  "root/input/2023/03/10/filename1.txt",
  "root/output/2023/03/14/filename2.txt",
};

List<string> dateParts = new List<string>();
// 匹配4位数字+斜杠+2位数字+斜杠+2位数字的模式
Regex dateRegex = new Regex(@"\d{4}/\d{2}/\d{2}");
foreach (var path in lstPaths)
{
    Match match = dateRegex.Match(path);
    if (match.Success)
    {
        dateParts.Add(match.Value);
    }
}

方法三:利用路径解析类(更规范的路径处理)

如果想通过系统路径API处理,可以先剥离文件名,再从目录路径中提取最后三段:

List<string> lstPaths = new List<string>() {
  "root/input/2023/03/10/filename1.txt",
  "root/output/2023/03/14/filename2.txt",
};

List<string> dateParts = new List<string>();
foreach (var path in lstPaths)
{
    // 获取文件所在目录:root/input/2023/03/10
    string dirPath = Path.GetDirectoryName(path);
    var dirSegments = dirPath.Split('/');
    if (dirSegments.Length >= 3)
    {
        // 从数组末尾往前取3段
        string date = $"{dirSegments[^3]}/{dirSegments[^2]}/{dirSegments[^1]}";
        dateParts.Add(date);
    }
}

注:如果是Windows风格反斜杠路径,将Split('/')替换为Split('\\'),或用Path.DirectorySeparatorChar适配跨平台。

内容的提问来源于stack exchange,提问作者SuryaKavitha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 09:05:20