Как извлечь дату из файла .txt, имя которого содержит дату? (Скала) - PullRequest
1 голос
/ 05 апреля 2019

У меня есть файл .txt в качестве входных данных для моего проекта по программированию луча с использованием scala spotify scio.

input= args.getOrElse("input", "/home/user/Downloads/trade-20181001.txt")

Как мне извлечь дату 2018-10-01 (1-йОктябрь) из имени файла?Спасибо!

1 Ответ

1 голос
/ 05 апреля 2019

В вашем примере выше я бы просто использовал регулярное выражение ниже. Он ищет что-нибудь, заканчивающееся 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$
...