如何使用Python从文件名中提取日期?

时间:2016-05-17 16:29:51

标签: python regex string python-2.7 date

我正在尝试从此文件名格式中提取日期:

output_AU1001-BY.20160502.csv

我想也许我可以用re.findall()来做但不能这样做。

2 个答案:

答案 0 :(得分:3)

没有正则表达式的示例

<强>代码

s = 'output_AU1001-BY.20160502.csv'
date = s.split(".")[1]
print date

输出

>>> 20160502

答案 1 :(得分:2)

这是一种方式:

template<class T>
class sub
{
private:
    // typedef void (pub<T>::*funPtr)(T,T);   // C++98
    using funPtr = void (pub<T>::*)(T,T);     // C++11
    std::set<funPtr> fset;
public:

    void fun2( funPtr f)
    {
        fset.insert(f);
    }
};

假设:

  • import re d = 'output_AU1001-BY.20160502.csv' d = re.sub('output_[A-Z]+[0-9]+-BY[.]([0-9]+)[.]csv$', r'\1', d) print d 对于所有文件名都是常量
  • output_是可变的,但始终是ALL CAPS
  • AU对于所有文件名都是常量
  • -BY.是可变的,但始终是所有数字
  • 20160502对于所有文件名都是常量