In ner Txt Datei nach bestimmten Wörtern suchen
-
Wie kann ich in einer TextDatei z.B nach Telefon Nummern oda Email Adressen suchen?
-
Zeilen- (oder block-)weise einlesen (fgets() bzw. fread()) und anschließend im Speicher auswerten.
-
Ja gut aber es ist ja jede Telefon Nummer/Email Adresse anders ich möchte ja nicht nach einer Bestimmten Nummer/Email suchen.
-
Wie ist denn die Datei aufgebaut? Und wonach genau suchst du in dieser Datei?
-
In der Datei steht ein ganzer Text darin tauchen manchmal Nummer/Email Adressen auf.
z.B
"Wenn ihr noch fragen habt schreibt mir doch eine Email: EmailAdresse"Da sollte die Email Adresse mit printf ausgegeben werden.
-
Achso - da mußt du halt nach dem typischen Muster einer Telefonnummer (mehrere Zahlengruppen, getrennt durch /, - oder Leerzeichen) oder Mail-Adresse (hier bietet das @ wohl einen guten Ansatzpunkt) suchen.
-
regulaere ausdruecke wuerden da wohl viel helfen.
-
Ja gut nachdem @ zu suchen is ja kein Problem aber wie ich dann die ganze Adresse rausbekomme,des verstehe ich nicht so!!!
-
Du gehst vom @ aus nach vorne und hinten, bis du etwas findest, was nicht mehr zur Adresse gehören kann (quasi alles außer Buchstaben, Ziffern und '.'), dann hast du die Position der Adresse. (dafür ist es ganz praktisch, die Datei in größeren Blöcken einzulesen - und notfalls den letzten eingelesenen Block zwischenzulagern, bis du ihn nicht mehr brauchst).
-
grep :>
oder bastel dir ne FSM, wenn du keine regexp libraries findest.