Rock
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору sldaac Цитата: Получаю из документа (счет) строку вида "от 12 июля 2022 г.", надо преобразовать в формат dd.mm.yyyy. Все-бы ничего, но нет никакой гарантии что в следующем счете строка будет иметь такой-же вид, а не что-то вида "от 20 авг. 2022 г." или "14,9,2022". Есть какие-то подсказки, как можно решить проблему. связка Delphi+MSSQL | В подобной постановке -- это классическая задача лексического анализа. Для автоматизации написания подобных разборщиков используются генераторы лексических анализаторов. Для С это классика lex/flex, но есть огромное количество других, построенных на совершенно разных принципах. Раньше подобные решения были в стандартных курсах программирования в ВУЗах и по ним нужно было сдавать зачеты. Такие же инструменты должны быть и для Паскаля. В общем, это классика, буквально предназначенная для решения подобных задач. Вложиться в это направление стоит еще хотя бы потому, что при добавлении стека такой анализатор-разборщик регулярных языков (а Ваши примеры относятся именно к этому классу грамматик) легким движением превращается в парсер довольно большого подмножества контекстно-свободных языков и этого за глаза хватает для разбора тех же html и json. Кстати, во flex такой стек встроен из коробки. |