perlunity.de - PERL | JAVASCRIPT | PHP | MySQL | APACHE



#!/COMMUNITY

Members: 5374
davon online: 1
weitere User: 30
Click for quality!




10.02.2012 / 08:49

Community-Member werden   |   Paßwort vergessen   |   OnlineMonitor (1) Wer ist online ... OnlineMonitor starten !
     

 

Home


PERLscripts


PHPscripts


JAVAscripts


Hilfreiches


Links2www


Newscenter


Community


Interna




Community  »  Perl: Allgemeines Forum zur Themenübersicht Themensuche Themenansicht in Thread-Modus


BeitragReguläre Ausdrücke - ich schaff's nicht!
Seitenanfang
Hi!

Ich probiere schon seit 2 Tagen herum, hab auch schon ettliche Seiten bemüht, aber ich schaff's nicht!
Ich habe diesen String
"20050907 - tst Test" und möchte ihn in folgendes zerlegen
"2005097" "test" und von "Test" an bis zum Stringende. Das Problem ist, dass nur das Datum (20050907) immer gleich lang is... die initiallien sind manchmal nur ab oder abc und der rest hinten ist beliebig lang.

Könnt ihr mir bitte helfen? Wenn das funktionieren würde, könnt ich die reg exp für den String (tst ... Thomas Super Test) wohl selber machen (brauch daraus tst und "Thomas Super Test" - falls jmd. will *g*)

Bitte lasst mich net hängen und helft einem Perl Anfänger *g* Vielen Dank!
Coma

Datum: 19.09.2005-12:44

Beitragre: Reguläre Ausdrücke - ich schaff's nicht!
Seitenanfang
my $string = '20050907 - tst Test';
my ($date,$init,$rest) = $string =~ /(\d+)\s-\s([^\s]+)\s(.*?)/;

Datum: 19.09.2005-14:39

Beitragre: Reguläre Ausdrücke - ich schaff's nicht!
Seitenanfang
Wahlweise statt der RegEx auch einfach mit split:

my $x = '20050907 - tst Test Foo Bar Something Blubb';
my ($date,$init,$rest) = split / -? ?/, $x, 3;
print join '|', '-',$date,$init,$rest,'-';

Datum: 19.09.2005-22:02

Beitragre: Reguläre Ausdrücke - ich schaff's nicht!
Seitenanfang
Danke für die Antworten.

Das mit Split funktioniert eindwandfrei - Danke!

Jetzt hab ich noch das Problem, dass es mehrere Zeilen sind (quasi eine Art Liste - und die wird zeile für zeile durchgegangen und am ende brauch ich alle daten). Ich will das ganze in eni mehrdimensionales array schreiben, aber irgendwie schaff ichs net.
@array[][] - so funktionierts bei Java (glaub ich) - funzt aber net.

Kannst du mir nochmal helfen?!

Danke,
Coma

Datum: 21.09.2005-10:48

Beitragre: Reguläre Ausdrücke - ich schaff's nicht!
Seitenanfang
Dafür brauchst Du ein Array of Arrays. D.h. in jedem Element des Arrays sind Referenzen auf andere Arrays. Dadurch wird die mehrdimensionalität hergestellt.
Schau Dir mal auf http://wiki.perl-community.de unter "perldoc" perldoc perlreftut an... Ist auf Deutsch!

Datum: 21.09.2005-12:35

-






-
-