2013-10-02 5 views
-3

Предположим, что я хочу, чтобы мой текстовый файл содержит список команд:Разбивает строку в нумерации

1. eat, food 
    7am 
2. brush, teeth 
    8am 
3. crack, eggs 
    1pm 

Как мы можем получить:

"eat, food\n7am" 
"brush, teeth\n8am" 
"crack, eggs\n1pm" 

Я пытаюсь использовать классический split() с петлями, но пока я не понял, как избавиться от цифр. Любые предложения?

+0

Регулярные выражения? –

+0

О, хорошо .. я не эксперт по регулярному выражению, вы можете мне сказать, как это сделать? – aIKid

+1

Я не вижу никаких усилий для решения этой проблемы самостоятельно, и нет, мы не пишем для вас код. –

ответ

1

Использование regex и str.splitlines:

>>> import re 
>>> s = """1. eat, food 
    7am 
2. brush, teeth 
    8am 
3. crack, eggs 
    1pm""" 
>>> lis = [re.sub(r'^\d+\.\s*', '', x).strip() for x in s.splitlines()] 
>>> it = iter(lis) 
>>> for x in it: 
    print '{!r}'.format(x + '\n' + next(it)) 


'eat, food\n7am' 
'brush, teeth\n8am' 
'crack, eggs\n1pm' 
+0

Спасибо большое, тем временем я нашел себе путь, просто нужно количество заданных команд. – aIKid

Смежные вопросы