Главная страница


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Alan Long                            2:5030/1082.72 15 Sep 2002  11:59:20
 To : Sergey Juchkov
 Subject : подсобите
 -------------------------------------------------------------------------------- 
 
 * Originally from Sergey Juchkov (2:454/10) to All.
 
  SJ> всем ответившим спасибо. но попутно возникло следующее
 
  SJ> есть
  SJ>    $str = '/часть 6/часть 5/часть 4/часть 3/часть 2/часть 1/';   
  SJ> или
  SJ>    $str = '/часть 6/часть 5/часть 4/часть 3/часть 2/часть 1'; 
 
  SJ> надо получить в  массив ch
  SJ>   $ch[1]  <- часть 1
  SJ>   $ch[2]  <- часть 2
  SJ>   $ch[3]  <- часть 3
  SJ>   $ch[4]  <- часть 4
  SJ>   и т.д.
  SJ>   частей может быть от 2 до X
 
 $str =~ s/^\///;
 $str =~ s/\/$//;
 @ch = reverse split( /\//, "$str/" );
 
 в @ch получаем требуемое. То есть для стороки: $str = 'ccc/bbb/aaa';
 мы получим массив: @ch = (undef, 'aaa', 'bbb', 'ccc');
 
 Hо условия задачи несколько не ясны, так что решением может быть:
 foreach ( split(/\//, $str) ) {
    if( /\s(\d+)$/ ) {
       $ch[$1] = $_;
    }
 }
 Тут для строки: $str = 'bbb 2/ccc 3/ddd 4/aaa 1'; получаем:
 @ch = (undef,'aaa 1','bbb 2','ccc 3','ddd 4');
 
 В дальнейшем объясни по каким критериям нужно разбирать строки на массивы. Так
 как в данном примере это можно сделать двояко, или хотя-бы приводи данные на
 которых не приходится ломать голову разбираясь что-же ты хотел.
 
 P.S.
    Hаписанно прямо в почтовом редакторе, и не проверялось в реальной жизни, так 
 что может содержать синтаксические ошибки.
 
  SJ> WBR, Sergey.
 
 -- 
 With best,
      Ъ-·    Ъ
      Е-ЧLaі\і <alan@x-rays.eu.org>
 
 --- timEd/386 1.10+
  * Origin: X - Rays Station (2:5030/1082.72)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 подсобите   Alan Long   15 Sep 2002 11:59:20 
Архивное /ru.perl/4581d8441430.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional