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

如何在UiPath中移除TXT文件中超过30天的过期日期行

UiPath中过滤TXT文件日期行的解决方案

以下是直接处理TXT文件完成日期过滤的具体步骤,无需转CSV:

  1. 读取TXT文件内容
    使用Read Text File活动,将文件内容读取到字符串变量strFileContent中。

  2. 计算日期阈值
    添加Assign活动,设置:

    dtThreshold = DateTime.Now.AddDays(-30)
    

    该变量用于界定需要保留行的最小日期时间。

  3. 拆分内容为行列表
    再添加一个Assign活动,将文本拆分为单独的行:

    lstLines = strFileContent.Split({Environment.NewLine}, StringSplitOptions.RemoveEmptyEntries).ToList()
    

    借助RemoveEmptyEntries避免处理空行。

  4. 过滤符合条件的行
    使用Assign活动结合LINQ实现过滤,仅保留日期时间不早于阈值的行:

    lstFilteredLines = lstLines.Where(Function(line)
        Dim dtLineDate As DateTime
        ' 提取第一个字段并去除前后引号
        Dim dateSegment As String = line.Split(";"c)(0).Trim(""""c)
        ' 精准解析日期格式,避免格式识别误差
        If DateTime.TryParseExact(dateSegment, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, dtLineDate) Then
            dtLineDate >= dtThreshold
        Else
            False ' 解析失败的行直接丢弃,若需保留可改为True
        End If
    ).ToList()
    
  5. 写入过滤后的内容
    使用Write Text File活动,将过滤后的行拼接成文本写入目标文件:

    String.Join(Environment.NewLine, lstFilteredLines)
    

注意事项

  • 若系统默认日期格式与目标字符串格式不一致,必须用TryParseExact指定格式,防止解析错误。
  • 若需要保留日期解析失败的行,可将Else后的False改为True。
  • 测试时可先输出dtThreshold的值,确认阈值计算符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 23:25:27