Veröffentlicht 28. August 200816 j 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
28. August 200816 j 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 200816 j von Enno
28. August 200816 j 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 200816 j von starbuck86
28. August 200816 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.