AkelPad Forum Index AkelPad
Support forum
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Как из текста вытянуть только цифры (номера)

 
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian)
View previous topic :: View next topic  
Author Message
neomag06



Joined: 19 Jun 2013
Posts: 2

PostPosted: Thu Jun 20, 2013 6:55 pm    Post subject: Как из текста вытянуть только цифры (номера) Reply with quote

Проблема такая, есть файл, в нем текст и цифры (номера телефонов), нужно сделать так, чтобы остались (отбразились) только телефоны.
Помогите реализовать, есть ли такая функция в программе AkelPad?
Заранее Благодарю за ответы. Smile

Пример файла исходного: http://sms.ho.ua/ish.txt
Пример файла, как должно получиться: http://sms.ho.ua/itog.txt
Back to top
View user's profile Send private message
opk44



Joined: 16 Jan 2010
Posts: 334

PostPosted: Thu Jun 20, 2013 9:45 pm    Post subject: Re: Как из текста вытянуть только цифры (номера) Reply with quote

1. Начните с того, что просто отсортируйте файл. Может этого уже и будет достаточно. Требуется плагин Format::LineSortStrAsc. Недостаток - меняется исходный порядок строк.
2. Чуть более "затейливый" вариант (с плагином Scripts) - использовать скрипт "Фильтр строк с регулярными выражениями" (LinesFilter.js)
В поле "Строка содержит" написать что-то вроде этого:
((\d{2}-\d{2}-\d{2})|(\d \(\d{2}\) \d{3}-\d{2}-\d{2}))
опции: "Регулярные выражения" и "Оставить строки".
В этом случае исходный порядок строк сохранится.
Недостаток - необходимо четко определить возможные шаблоны номеров. В примере "477-333" будет проигнорирован, т.к. не совпадает с шаблоном.
В обоих случаях придется подчистить некоторый оставшийся мусор (начала строк "Oae.: " заменить на "пусто" и хвосты подчистить).
Back to top
View user's profile Send private message
KDJ



Joined: 06 Mar 2010
Posts: 1373
Location: Poland

PostPosted: Thu Jun 20, 2013 10:03 pm    Post subject: Reply with quote

neomag06
You can do this without a script.
"Replace" dialog with regular expressions:
What: ^.*(((0 \(\d\d\) )?\d{2,}-\d{2,}(-\d{2,})?).*)$|^.+
With: \1
Back to top
View user's profile Send private message
neomag06



Joined: 19 Jun 2013
Posts: 2

PostPosted: Thu Jun 20, 2013 11:17 pm    Post subject: Reply with quote

opk44
KDJ
Спасибо за помощь!
То что меняется порядок строк - мне всеравно, главное чтобы номера телефонов сохранились как есть.
Почищу файлы, попробую этими формулами отсортировать, отпишусь в любом случае.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    AkelPad Forum Index -> Discussion (Russian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


SourceForge.net Logo Powered by phpBB © 2001, 2005 phpBB Group