我使用scala spotify scio将.txt文件作为我的光束编程项目的输入。
input= args.getOrElse("input", "/home/user/Downloads/trade-20181001.txt")
如何从文件名中提取日期2018-10-01(10月1日)?谢谢!
答案 0 :(得分:1)
在上面的示例中,我将仅使用以下正则表达式。它会搜索以8个数字结尾,后跟.txt的任何内容。
(?<dateTime>\d{8})\.txt$
(?<dateTime> is the start of a named capture group.
\d{8} means exactly 8 digits.
) is the end of the named capture group.
\. means match the character . literally.
txt means match txt literally.
$ means that the string ends there and nothing comes after it.
如果您不能在程序中使用命名捕获组,则始终可以在不使用正则表达式的情况下使用它,并替换其中的.txt。
\d{8}\.txt$