![]() |
Модераторы: korob2001, ginnie |
![]() ![]() ![]() |
|
alyam |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 2.8.2006 Репутация: нет Всего: нет |
есть файл с строками:
Ленина 5-3-11 пр-т 50 лет Октября 7-31 с.Горяйновка пушкина 48-4 с.Горяйновка пушкина 46 т.е. село улица дом-корпус(если есть)-квартира(если есть) нужно разделить название села+улицу, дом\корпус, квартира если есть... если нету, то поставить перенос строки... и записать отдельно в разные файлы. итого получится 3 файла street.txt, home.txt, kv.txt подскажите регулярное выражение Это сообщение отредактировал(а) alyam - 21.6.2007, 10:51 |
|||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
Это сообщение отредактировал(а) amg - 21.6.2007, 12:24 |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
P.S.: в этом тупо () даже лучше. Если писать регулярку, то входные данные должны быть - всё содержимое файлов, т.е. нагрузка на память... ужасно будет. Лучше считывать файл "по порядку", тем более всё "на новой строчке" ;)
|
|||
|
||||
bugmenot |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: нет Всего: 1 |
Имеется вывод программы типа
Никак не соображу как составить регулярное выражение чтобы имя исполнителя записывалось в переменную $imya а название композиции в $kompoz при этом убрав" - " и порядковый номер. Порядковый номер- любое целое число всегда заканчивающееся точкой (в данном случае 12.) Между именем исполнителя и названием композиции всегда "пробел дефис пробел" Имя исполнителя и название композиции может содержать дефис с пробелом либо до либо после и число с точками. В принципе я предполагаю что в качестве разделителя можно использовать комбинацию " - " хотя теоретически такая комбинация может встречаться и в имени исполнителя и в названии композиции. --------------------
доска объявленийвсе о горных велосипедах |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
bugmenot, раз разделителя нет, т.е. он неопределён, то как же "комп поймет", что чем является?
![]() Или исходные данные надо изменить, и имя исполнителя и название композиции заключить в двойные ковычки или др. "разделитель" ;) |
|||
|
||||
bugmenot |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: нет Всего: 1 |
это я понимаю и поэтому принял что в качестве разделителя дб " - " т.к. изменить исходные данные для меня очень сложно я использую готовый модуль winamp::control а в нем как на зло процедура getid3tag_artist не работает пришлось использовать getcurrenttitle а у нее вывод именно такой как указано выше. --------------------
доска объявленийвсе о горных велосипедах |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
как самое простое
|
|||
|
||||
bugmenot |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 135 Регистрация: 3.7.2006 Репутация: нет Всего: 1 |
Спасибо.
--------------------
доска объявленийвсе о горных велосипедах |
|||
|
||||
permea |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.4.2007 Репутация: нет Всего: нет |
на входе--файл такого фида
читаю его построчно, и в некоторых строках необходимо поменять в шестой колонке цифирь 5 на 21(номера таких строк лежат в программе в отдельном массиве @atom_for_corr, номерация строк начинается с нуля). Очень хотелось бы не ломать форматирование, поэтому тупое split ... print юзать не хочется. Как? |
|||
|
||||
amg |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
О! Брат-химик транс-гексен-3-ол посчитал.
|
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
permea, внутри темы не задавайте множества вопросов, создайте свою...
|
|||
|
||||
permea |
|
|||
Новичок Профиль Группа: Участник Сообщений: 6 Регистрация: 4.4.2007 Репутация: нет Всего: нет |
2 amg
Спс. 2 nitr эээ.... а зачем, если тема продолжает предыдущую? Но если надо... |
|||
|
||||
nitr |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2543 Регистрация: 10.2.2006 Где: Россия :) Репутация: 37 Всего: 84 |
permea, правила... правила...
Сейчас уже ненадо создавать, просто впредь... |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Perl" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |