Дата извлечения от большой строки

У меня есть строка как dhgsf20101211124422asddas. эта строка содержит дату в yyyymmddhhmmss formate. Как получить ту дату от длинной строки как вышеупомянутый.Заранее спасибо

1
задан Sandy 2 May 2010 в 13:21
поделиться

4 ответа

http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner. html . Предполагая, что это java.

0
ответ дан 3 September 2019 в 00:54
поделиться

Я бы использовал регулярное выражение. Если предположить, что это всегда 14-значное число и что в строке не будет других точно 14-значных чисел, это будет легко сделать.

Есть довольно много инструментов, которые помогут вам создавать регулярные выражения, я обычно использую http://www.redfernplace.com/software-projects/regex-builder/ , что упрощает работу даже без особых знаний о как они работают.

0
ответ дан 3 September 2019 в 00:54
поделиться

Регулярные выражения должны работать, чтобы захватить возможные подстроки - затем некоторая логика здравомыслия, чтобы проверить даты на любую другую достоверность

0
ответ дан 3 September 2019 в 00:54
поделиться

Я бы использовал синтаксический анализ Java DateFormat . Он позволяет перемещаться по строке с помощью объекта ParsePosition .

DateFormat format = new SimpleDateFormat("yyyymmddhhmmss");
ParsePosition pp = new ParsePosition(0);
for (int c = 0; c < text.length(); c++) {
    pp.setIndex(c); pp.setErrorIndex(-1);
    Date d = format.parse(text, pp);

    if (d != null) {
        // Handle parsed date

        // Only advance past the last parsed date if there was no error
        if (pp.getErrorIndex() < 0) c = pp.getIndex() - 1;
    }
}
2
ответ дан 3 September 2019 в 00:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: