| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Perl: Общие вопросы > регулярные выражения |
| Автор: DESert 15.5.2006, 20:36 |
| Доброе всем время суток! Есть у меня такая задача, которую удалось при помощи долгих усилий осуществить на Си++. Добрые люди подсказали, что Perl с таким в одну строчку справится. Вчера начал изучение этого замечательного языка и понял, что действительно можно. Такая проблема: есть текстовые файл, кусок из него: абдоминальный 8 п 1*а abdominal абдуктор 4 м 1а abductor абдукторный 4 п 1*а абдукция 4 ж 7а abduction абелит 5 м 1а аберрационный 9 п 1*а аберрация 6 ж 7а aberration comaII абзац 4 м 5а indent indentation indention paragraph rubric rubricate абзацный 4 п 1*а- абиетин 6 м 1а нужно все слова из него переместить в другой файл при этом отредактировав каждую строчку, таким образом, чтобы в итоге каждая строка была вида: словопробелчислопробелсловопробелчисло т.е. требуется убрать из строки перевод русского на анг и всевозможные посторонние символы после второго числа С регулярными выражениями я уже знаком, но не на таком уровне, чтобы с таким справится.... поэтому прошу вас Помогите пожалуйста! |
| Автор: arto 15.5.2006, 21:08 |
| # perl -lne '@a = split "\\s+"; $a[3] =~ s|\D+||g; print join " ",@a[0,1,2,3];' test.in абдоминальный 8 п 1 абдуктор 4 м 1 абдукторный 4 п 1 абдукция 4 ж 7 абелит 5 м 1 аберрационный 9 п 1 аберрация 6 ж 7 абзац 4 м 5 абзацный 4 п 1 абиетин 6 м 1 # |
| Автор: DESert 15.5.2006, 21:54 |
| ого заранее извининяюсь за глупые вопросы и замечания... - но ведь здесь нет открытия файла из которого производится считывания, как я думаю что нет - что будет если изначально будет последовательность словопробелслово а дальше символы, которые надо убрать? я знаю, что не первый кто просит всё ему тут разжевать, но заранее спасибо большое! |
| Автор: Kannabismus 16.5.2006, 17:22 | ||||
А test.in что по-вашему? |
| Автор: arto 16.5.2006, 20:56 |
| # perl -pnale '$_ = join " ",@F[0,1]' test.in абдоминальный 8 абдуктор 4 абдукторный 4 абдукция 4 абелит 5 аберрационный 9 аберрация 6 абзац 4 абзацный 4 абиетин 6 # |