【问题标题】:How to apply a filter on date fields in UltraEdit如何在 UltraEdit 中对日期字段应用过滤器
【发布时间】:2019-05-05 17:35:51
【问题描述】:

我正在尝试使用 UltraEdit 中的过滤器选项。我有一个简单的 CSV 文件。它有 3 列。最后一列有日期。我需要应用过滤器,以便只看到日期早于 2019 年 5 月 1 日的那些行。

24.59,000000024.13,06/01/2019
18.45,000000000.00,07/01/2019
18.45,000000018.36,07/01/2019
94.08,000000000.00,02/01/2019
19.83,000000000.00,02/01/2019
77.35,000000000.00,02/01/2019
51.22,000000000.00,02/01/2019
14.02,000000000.00,02/01/2019
70.21,000000000.00,02/01/2019
25.24,000000000.00,02/01/2019
17.35,000000000.00,02/01/2019

有没有办法在 UltraEdit 中以列模式执行此操作?

【问题讨论】:

    标签: date filter ultraedit


    【解决方案1】:

    这可以通过使用 Ctrl+Home 将插入符号移动到文件顶部并打开常规 Find 窗口来实现,例如使用 Alt+F3 (默认键分配)和

    • 作为搜索字符串输入(?:19\d\d|200[0-9]|201[0-8]|0[1-4]/01/2019)$
    • 选择当前文件作为选项
    • 如果不可见,请单击齿轮按钮以显示高级查找选项,
    • 选中选项正则表达式并选择Perl
    • 选中选项过滤行并选择显示
    • 勾选选项找到后关闭
    • 取消选中所有其他检查男孩选项,
    • 单击按钮下一步运行查找并隐藏与 Perl 正则表达式搜索字符串匹配的所有行。

    Perl 正则表达式搜索字符串匹配年份 19001999 OR 年份 20002009 OR 年份 20102018 日期 01/01/201904/01/2019 必须在行尾找到才能进行肯定匹配。

    嗯,不清楚日期格式是DD/MM/YYYY(英国)还是MM/DD/YYYY(美国)。因此,根据日期格式以及早于 05/01/2019 的含义,行隐藏可能是正确的还是错误的。我假设格式 DD/MM/YYYY 今天是 2019-05-05 (国际日期格式 YYYY-MM-DD),所以 06/01/2019 将是将来成为 MM/DD/YYYY 的日期。

    同样可以通过使用 Perl 正则表达式搜索来实现

    (?:0[5-9]/01/2019|[1-3]\d/\d\d/2019|\d\d/0[2-9]/2019|\d\d/1[0-2]/2019)$
    

    匹配日期 05/01/201909/01/2019 任何日期,其中第一个数字为 13 年份 2019 任何带有月份的日期 0209 在年份 2019 带有月份的任何日期 1012 在年份 2019 使用 隐藏 而不是 Show 作为 Filter lines 的过滤选项。

    【讨论】:

    • 感谢您的回答!我应该明确说明日期格式。它是 MM/DD/YYYY。因此,根据我粘贴的示例,我应该得到所有 2 月的行。
    猜你喜欢
    • 2010-12-15
    • 2018-01-07
    • 2020-12-19
    • 2012-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-21
    • 1970-01-01
    相关资源
    最近更新 更多