Я искал это везде, но не смог найти какое-то конкретное решение, и в документации это тоже не освещалось. Поэтому я хочу извлечь дату начала и дату окончания из этой строки "1-Mar-2019 to 31-Mar-2019"
. Проблема в том, что я не могу извлечь обе строки даты.
Я нашел самое близкое решение здесь, но не смог опубликовать комментарий, спрашивающий, как извлечь значения по отдельности из-за низкой репутации: https://stackoverflow.com/a/8116229/10735227
Я использую шаблон регулярных выражений, чтобы искать вхождения и извлекать оба вхождения сначала до 2 строк.
Вот что я попробовал:
Pattern p = Pattern.compile("(\\d{1,2}-[a-zA-Z]{3}-\\d{4})");
Matcher m = p.matcher(str);
while(m.find())
{
startdt = m.group(1);
enddt = m.group(1); //I think this is wrong, don't know how to fix it
}
System.out.println("startdt: "+startdt+" enddt: "+enddt);
Вывод:
startdt: 31-Mar-2019 enddt: 31-Mar-2019
Кроме того, мне нужно использовать DateFormatter для преобразования строки в дату (добавляя завершающий 0 перед датой из одной цифры, если требуется).