2016-04-06 3 views
-1

Мне нужно написать функцию, которая возьмет строку в качестве аргумента и даст описание строки в качестве вывода. Поэтому, когда я вставить следующую строку в моей функции:Python - разделите строку с результатами регулярного выражения и разделите ее

"12:30 – 13:00  Red Light Radio – Ovational Exercises" 

Вывод должен быть:

"Red Light Radio – Ovational Exercises" 

Я знаю, что я могу избавиться от всех пространств с помощью .strip(), но я могу» t выяснить, как разделить предложение между датой и описанием. Я использую регулярные выражения, чтобы найти время, чтобы я мог разделить предложение на последнем индексе времени, но это не полностью функционален

Мой текущий код:

def extract_activity(string): 
    time_expressions=re.findall(r'[\d.:]+.*[\d.:]+', string)[0] 
    string.split(time_expressions[-1]) 

    return string 


test = "12:30 – 13:00  Red Light Radio – Ovational Exercises" 
extract_activity(test) 

Я хочу «Red Light Radio - Ovational Упражнения ", но моя команда split не работает. Команда split должна разбивать строку на две строки, содержащую время, а другую, содержащую буквы, после чего я должен использовать .strip(), чтобы избавиться от всех пробелов.

Вся помощь будет оценена

+0

Какой выход из 'extract_activity (тест)'? Это вызывает ошибку? –

ответ

0

Просто матч всей линии:

mtch = re.match('^\s*\d+:\d+\s*-\s*\d+:\d+\s+(.*?)\s*$', text) 
activity = mtch.group(1) 
Смежные вопросы