Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 3, 2013 01:28:15

Bobkoff
Зарегистрирован: 2013-02-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с регуляркой или скриптом

Есть некий текст. Лежит в одном txt. Почти в каждой строке есть такое:

20 апр 2011 … Бла блабла бла, блабла.
4 сен 2012 … Бла блабла бла, блабла.
11 дек 2011 … Бла блабла бла, блабла.
….
Нужно удалить даты в начале каждой строки “20 апр 2011 … ” оставив только текст
Буду признателен за помощь.

Офлайн

#2 Фев. 3, 2013 05:43:58

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10019
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с регуляркой или скриптом

>>> import re
>>> 
>>> s = '20 апр 2011 … Бла блабла бла, блабла.'
>>> snew = re.sub(r'^\d{1,2} [а-я]{3} \d{4} ', r'', s)
>>> snew
'… Бла блабла бла, блабла.'
>>>



Офлайн

#3 Фев. 3, 2013 12:22:11

Bobkoff
Зарегистрирован: 2013-02-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Помогите с регуляркой или скриптом

Все отлично, но троеточие в начале тоже нужно убрать, те. чтобы строка начиналась с заглавной буквы

Офлайн

#4 Фев. 3, 2013 20:36:38

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

Помогите с регуляркой или скриптом

Bobkoff
троеточие в начале тоже нужно убрать

s = '20 апр 2011 … Бла блабла бла, блабла.'
print s.split("...",1)[1]



Офлайн

#5 Фев. 4, 2013 08:13:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10019
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с регуляркой или скриптом

>>> import re
>>>  
... s = '20 апр 2011 … Бла блабла бла, блабла.'
>>> snew = re.sub(r'^\d{1,2} [а-я]{3} \d{4} (… )?', r'', s)
>>> snew
'Бла блабла бла, блабла.'
>>>



Офлайн

#6 Фев. 4, 2013 13:38:57

Isem
От:
Зарегистрирован: 2010-08-27
Сообщения: 447
Репутация: +  7  -
Профиль   Отправить e-mail  

Помогите с регуляркой или скриптом

snew = re.sub(r'^\d{1,2} [а-я]{3} \d{4} .*? ', r'', s)



Офлайн

#7 Фев. 4, 2013 23:47:53

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10019
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с регуляркой или скриптом

троеточия там может и не быть



Офлайн

#8 Фев. 6, 2013 13:17:25

warik
Зарегистрирован: 2013-02-06
Сообщения: 23
Репутация: +  1  -
Профиль   Отправить e-mail  

Помогите с регуляркой или скриптом

Должно быть что-то типа такого

re.search(r'\d\d\d\d[\s.]*([\w\s]+)', text)

Только я просто точку поставил, но это ничего не поменяет.

Офлайн

#9 Фев. 7, 2013 00:47:34

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10019
Репутация: +  857  -
Профиль   Отправить e-mail  

Помогите с регуляркой или скриптом

warik
Должно быть что-то типа такого
не, надо точно брать, а не что-то приблизительно
в строке может не быть года, но быть число из четырёх и более цифр

[\s.]*
совпадёт и с “…”, и с “…..”, и c “. . . .”, и с “… … .”



Отредактировано py.user.next (Фев. 7, 2013 00:48:41)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version