Форум сайта python.su
0
Хочу сделать напоминалку, которая будет в получаемом сообщении запоминать дату, время и текст оповещения. Сообщение формата “Сегодня в 12:15 сходить в кино”.
Как правильно вытащить из строки время и последующую за ним часть текста для того, чтобы можно было дальше записать это в БД?
Офлайн
221
Регулярными выражениями (модуль re)
>>> import re >>> re.findall('\d{2}:\d{2}', 'Сегодня в 12:15 сходить в кино') ['12:15'] >>>
Офлайн
0
Спасибо!
Да, Вы правы. 
Часть фразы, идущую после времени, как-то возможно отрезать в отдельную переменную? Чтобы отправлять позднее не полную фразу, а только важную часть.
Такая полная отправка для напоминаний на “сегодня” еще будет смотреться, а если на другой день, то получение напоминания типа “завтра в 11:45 нужно сделать что-то” будет выглядеть ужасно.
Отредактировано fromrsu (Окт. 27, 2016 13:58:13)
Офлайн
857
>>> import re >>> >>> s = 'Сегодня в 12:15 сходить в кино' >>> >>> match = re.search(r'(\d+:\d+) (.*)', s) >>> match.groups() ('12:15', 'сходить в кино') >>>
Офлайн
0
JOHN_16 и py.user.next
Спасибо за помощь!
Офлайн