tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1064
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Sanic Sanic ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Beiträge
    109
    Hallo
    Ich habe folgendes Problem:

    Mithilfe von Perl lese ich eine Textdatei ein.
    Jetzt möchte ich in den vorhandenen Strings nach Parametern suchen.
    Ein Beispiel:
    Eine Zeile aus der Textdatei sieht so aus:

    test=0 parameter1=22 nocheinparameter=0

    Nun möchte ich mir von "test" den Wert nach dem "=" anzeigen lassen, also "0".
    Ist regexp in diesem Falle die beste Lösung oder gibt es noch einfachere Methoden ?

    Danke für eure Hilfe !
     

  2. #2
    Narrator Tutorials.de Gastzugang
    Also wenn deine Parameterliste statisch ist dann is das mit regexp schon recht gut.
    Ich poste mal aus Spaß n bisl Code falls hilft:
    Code :
    1
    2
    3
    4
    5
    6
    7
    
    foreach(@lines){
     if(/test=(\d+)\sparameter1=(\d+)\snocheinparameter=(\d+)/){
      print "test=$0\n";  
      print "parameter1=$1\n";  
      print "nocheinparameter=$2\n";  
     }
    }

    Also schwierig ist das nicht. Denke nich dasses allzu einfachere Methoden dafür gibt. Höchsten vielleicht irgendne sub oder so die dir jemand schreibt(wenn des selbst machst isses mehr aufwand *g*) mit dem dateinamen als argument die dir die parameter in ner liste liefert wo dann in jedm eintrag n hash für die einzelnen parameter sind. naja wie manns will. mit regexp is schon ganz ok
     

  3. #3
    Avatar von GH@NDI
    GH@NDI GH@NDI ist offline Mitglied Gold
    Registriert seit
    Mar 2002
    Ort
    BaWü -> Schwäbische Alb
    Beiträge
    148
    Davon ausgegangen, das die Paramter alle mit nem Leerzeichen getrennt sind, und die schlüssel wert paare alle durch = getrennt sind, und unmittelbar aneinander gereiht sind, dann funktioniert das hier wohl bedeutend schneller als der RegExp:

    Code :
    1
    2
    3
    4
    
    foreach(split(/ /, $zeile)) {
       my ($key, $value) = split(/=/, $_);
       print "Der Paramter $key hat den Wert $value\n";
    }
     

  4. #4
    Sanic Sanic ist offline Mitglied Gold
    Registriert seit
    Jan 2004
    Beiträge
    109
    Vielen Dank für eure Antworten, werde ich mal alles ausprobieren

    Danke
     

Ähnliche Themen

  1. regExp und IE
    Von andreosi123 im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 31.03.09, 06:43
  2. RegExp - Aktuelle Spracheinstellung filtern
    Von Entwickler08 im Forum PHP
    Antworten: 2
    Letzter Beitrag: 06.01.08, 17:37
  3. RegExp (\.?)((\w\D)*?)(\.)
    Von ZodiacXP im Forum PHP
    Antworten: 2
    Letzter Beitrag: 09.11.05, 15:04
  4. RegExp und VB6
    Von rabby im Forum Visual Basic 6.0
    Antworten: 4
    Letzter Beitrag: 31.03.05, 11:26
  5. RegExp
    Von robotex im Forum PHP
    Antworten: 2
    Letzter Beitrag: 16.08.04, 16:02