neila_1982 Geschrieben 18. März 2009 Geschrieben 18. März 2009 Hallo zusammen, bin leider eine perl ein perl anfänger, habe folgendes Problem. Ich habe einen logFile mit dem Inhalt bsp. "Saving bank statements for 9784", wobei alle ständig änderbare variabler Werte wichtig sind, die nach dem String "Saving bank statements for"vorkommen. Meine Aufgabe ist es nun diese ganzen Werte auszugeben Nun zu meinem Problem... wie heißt der Programmbefehl mit dem ich diese variable Zahl speichere. Mein Idee ist ich speichere sie alle in einem Array. so weit so gut, aber wie heißt der Befehl für den Wert den ich nach den String speichere, in diesem Fall diese Zahl speichere??? Wäre für jede Hilfe dankbar Zitieren
Shadowman Geschrieben 18. März 2009 Geschrieben 18. März 2009 (bearbeitet) EDIT: Sorry...gerade erst gesehen, dass es hier um Perl geht. Hinweis: Die Funktion preg_match(), die eine zu Perl kompatible Syntax regulärer Ausdrücke verwendet, ist häufig die schnellere Alternative zu ereg(). Und hier ein Link: Regex Eine andere Möglichkeit wäre das ganze in einen String zu packen, den am Zeichen " " (also Leerzeichen) zu spliten (also in ein Array rein) und dann das letzte Element des Arrays zu verwenden. Und noch eine kleine Anmerkung für die Zukunft: Eine Betitelung im Stil von "[PERL]wert in einem String bestimmen" wäre sehr hilfreich für potentielle Helfer Bearbeitet 18. März 2009 von Shadowman Zitieren
bytebrain Geschrieben 18. März 2009 Geschrieben 18. März 2009 (bearbeitet) Servus gehen wir mal davon aus, das die Zeile in der Variable $line gespeichert ist. # Funzt nur, wenn die Zahl am Ende der Zeile steht # Ist aber ja auch nur ein Beispiel $zahl = $1 if $line =~ /(\d{4})$/; Der Treffer (\d{4}) => 4 Digits, wird in der Variable $1 gespeichert. Diesen kannst du dann $zahl zuweisen. Falls das so nicht passt, oder es nicht immer eine 4stellige Zahl ist, sag bescheid. Gruß, bytebrain Bearbeitet 18. März 2009 von bytebrain Zitieren
gelang(while)t Geschrieben 26. März 2009 Geschrieben 26. März 2009 hi, hier kannst du über den Befehl substr(stringname,anfangszeichen,wieviele zeichen) arbeiten! zB wert = substr(logfile,27,5) aber schau dir nochmal die genaue syntax an! 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.