starbuck86 Geschrieben 28. August 2008 Geschrieben 28. August 2008 Hallo zusammen. Gestern bash heute perl. Abwechslung muss sein. :-) Zu meinem Problem: Ich würde gerne in Perl ein Skript schreiben, mit dem ich aus einem String etwas herausziehen kann. Der gewöhnliche String sieht so aus: dgene:dnt:sec99:ee20:1:p-dnt:beta: Nun möchte ich zum Beispiel den String nach dem 2. Doppelpunkt (also sec99) extrahieren. Wie geht man so etwas an? Kann mir da jemand etwas helfen? Danke && Gruß starbuck Zitieren
Enno Geschrieben 28. August 2008 Geschrieben 28. August 2008 (bearbeitet) komplettzerlegen geht mit split zum beispiel so: @Woerter = split(/:/,$Satz); am besten mal hier: SELFHTML: Perl weiterkucken. wenn du ab einem bestimmten Vorkommen trennen willst würde ich es in dieser forma machen: $Suchwort = ":"; while($Satz =~ /$Suchwort/g) { push(@Positionen, pos($Satz)); } Damit hast du in Positionen die Stellen stehen an denen ein : vorkommt. und wie man mit substr, left oder rigth was abtrennt weist du? dann einfahc aus dem array den 2ten Wert nehmen und deinen originalString dort trennen. Bearbeitet 28. August 2008 von Enno Zitieren
starbuck86 Geschrieben 28. August 2008 Autor Geschrieben 28. August 2008 (bearbeitet) Danke. Das war das was ich gesucht habe. Nachdem Aufteilen mit split kann ich ja sec99 abfragen durch. $secnr=$Woerter[2]; Gruß ******************************************************** Das habe ich jetzt nicht ganz verstanden: while($Satz =~ /$Suchwort/g) { push(@Positionen, pos($Satz)); } Das ist doch eine Endlosschleife? Was macht das "../g) {.."? Oder heisst das, wenn ich einen String suche in meinem Satz, den dann einem Array zuzuweisen? ja mit substr habe ich schon gearbeitet. Left / right sind mir noch neu. Gruß starbuck Bearbeitet 28. August 2008 von starbuck86 Zitieren
bigvic Geschrieben 28. August 2008 Geschrieben 28. August 2008 Hi, Das habe ich jetzt nicht ganz verstanden: Das ist doch eine Endlosschleife? Was macht das "../g) {.."? Oder heisst das, wenn ich einen String suche in meinem Satz, den dann einem Array zuzuweisen? perlfaq6 - perldoc.perl.org perlre - perldoc.perl.org pos - perldoc.perl.org push - perldoc.perl.org ciao, vic Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.