Форум сайта python.su
0
Есть некий текст. Лежит в одном txt. Почти в каждой строке есть такое:
20 апр 2011 … Бла блабла бла, блабла.
4 сен 2012 … Бла блабла бла, блабла.
11 дек 2011 … Бла блабла бла, блабла.
….
Нужно удалить даты в начале каждой строки “20 апр 2011 … ” оставив только текст
Буду признателен за помощь.
Офлайн
857
>>> import re >>> >>> s = '20 апр 2011 … Бла блабла бла, блабла.' >>> snew = re.sub(r'^\d{1,2} [а-я]{3} \d{4} ', r'', s) >>> snew '… Бла блабла бла, блабла.' >>>
Офлайн
0
Все отлично, но троеточие в начале тоже нужно убрать, те. чтобы строка начиналась с заглавной буквы
Офлайн
18
Bobkoff
троеточие в начале тоже нужно убрать
s = '20 апр 2011 … Бла блабла бла, блабла.' print s.split("...",1)[1]
Офлайн
857
>>> import re >>> ... s = '20 апр 2011 … Бла блабла бла, блабла.' >>> snew = re.sub(r'^\d{1,2} [а-я]{3} \d{4} (… )?', r'', s) >>> snew 'Бла блабла бла, блабла.' >>>
Офлайн
7
snew = re.sub(r'^\d{1,2} [а-я]{3} \d{4} .*? ', r'', s)
Офлайн
857
троеточия там может и не быть
Офлайн
1
Должно быть что-то типа такого
re.search(r'\d\d\d\d[\s.]*([\w\s]+)', text)
Офлайн
857
warikне, надо точно брать, а не что-то приблизительно
Должно быть что-то типа такого
[\s.]*
Отредактировано py.user.next (Фев. 7, 2013 00:48:41)
Офлайн