Короткая версия: учитывая пользовательский ввод, такой как I'm going to be out of the office from 2-4pm
или I'm out of the office from 10am-noon tomorrow
, как я могу выделить временной диапазон, чтобы разделить его на тире и обработать как время начала и окончания?
Длинная версия на случай, если сработает другое решение:
Я работаю над ботом Amazon Lex для планирования работы вне офиса. Мои высказывания настроены на фразы, подобные I'll be out of the office from {StartTime} to {EndTime}
, которые прекрасно работают, если пользователи вводят время в формате, подобном 2pm to 4pm
. Тем не менее, некоторые пользователи говорят I'll be out of the office from 2-4pm
или даже хуже 10am-noon
. Поскольку высказывания Lex необходимо форматировать как предложения, которые можно произносить вслух в Alexa и т. Д., Вы не сможете использовать тире, поэтому я не могу создать такое высказывание, как {StartTime}-{EndTime}
, чтобы сказать, что оно ожидает даты в этом формате.
У меня уже настроена функция проверки лямбды, поэтому я могу выполнять пользовательскую обработку на вводе пользователя, но я не уверен, как изолировать этот фрагмент строки, чтобы я мог разобрать его в мои StartTime
и EndTime
слоты.