Просмотр полной версии : Требуется помощь (Регулярные выражения)
Здравствуйте!
Т.К в регулярных выражения я не очень, то прошу вашей помощи.
Есть вот такая строка:
1042355456 1042355711 Ru Вологда Вологодская область Северо-Западный
цифры - дапазон Ip
потом Id страны
потом город (Вологда)
далее область
и последнее регион
Мне необходимо заключить все эти данные в кавычки и разделить запятой.
Кто поможет/напишет?
Спасибо!
P.S. таких сторок просто 66 000
Приведи штук пять строк для проверки
А нафига регулярку писать?
Замени пробелы на ","
В начало строки " и замени \n на "
Вологодская область
Тут пробел =\
не так не пойдёт.
Сам и делай
Isis это не туда у меня интернет медленный поэтому ответ поздно приходит
строки
1348299520 1348300543 RU Москва Москва Центральный
1348317184 1348321279 RU Санкт-Петербург Санкт-Петербург Северо-Западный
1357710176 1357710207 RU Мурманск Мурманская область Северо-Западный
1357710280 1357710287 RU Москва Москва Центральный
1357710288 1357710295 RU Подольск Московская область Центральный
cylaaaan
11.02.2008, 19:35
может быть нужно из файла каждую стоку обратить в массив
например сделать ей вид:
$a[0] = "1348299520 1348300543 RU Москва Москва Центральный";
$a[1] = "...";
$a[2] = "...";
и так далее....
а потом юзать к каждой строке preg_match_all, а потом выводить на экран, через for естевственно
demonoid
11.02.2008, 20:13
Здравствуйте!
Т.К в регулярных выражения я не очень, то прошу вашей помощи.
#!perl -w
use strict;
my $f = shift||exit print "\x09usage $0 <file>";
open my $FILE,$f or die $!;
foreach my $text (<$FILE>)
{
printcyr("'$1','$2','$3','$4','$5','$6'\n") if $text=~/(\d+) (\d+) ([A-Z]{2}) (.+?) (.+) (.+)/;
}
close $FILE;
sub printcyr
{
my $text = shift;
$text =~ y/А-яЁё/\x80-\xaf\xe0-\xf1/;
print $text;
}
C:\>p.pl id.txt
'1348299520','1348300543','RU','Москва','М сква','Центральный'
'1348317184','1348321279','RU','Санкт-Петербург','Санкт-Петербург','Северо-Западный'
'1357710176','1357710207','RU','Мурманск', 'Мурманская область','Северо-Западный'
'1357710280','1357710287','RU','Москва','М сква','Центральный'
'1357710288','1357710295','RU','Подольск', 'Московская область','Центральный'
Joker-jar
11.02.2008, 20:23
Проблема только в правильном отделении города, области и региона. Область может состоять из нескольких слов, если города и регионы тоже, то придется сделать справочники областей и регионов, думаю их не очень много
Пользуйся экселем как разделитель выбери пробел и подставляй куда надо столбики с запятыми или кавычками, что там надо то и вставляй.
Пользуйся экселем как разделитель выбери пробел и подставляй куда надо столбики с запятыми или кавычками, что там надо то и вставляй.
Спасибо!
Держи +
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot