Я получил строку в следующем формате: yyyyMMdd_HHmm_ss_unitCode_ (status).
Мне нужно сопоставить каждый компонент свойству выделенного класса.
Я думал об определении моего токена с помощью регулярного выражения:
{d+}4{d+}2{d+}2_{d+}2_{d+}2_{s+}3_{s+}2
=> Приносим извинения за приблизительный синтаксис регулярных выражений, d - десятичный, а s - строковый.
Как я могу сказать своему парсеру, что первая группа {d+}4
должна входить в свойство "year" моего класса, вторая - в "month" и т. Д.
Очевидно, я мог бы просто сделать это: token.setYear(substring(0,4))
, но я хотел быть немного более общим, поскольку у меня нет контроля над структурой имени файла.
Я также рассмотрел определение структуры XML с помощью startPosition, endPosition, имени атрибута для хранения и типа.
В общем, я думал, что все это слишком сложно. Проблема в том, что у меня нет ни одного разделителя, чтобы можно было использовать String.split
.