Einlesen von Wörtern aus einer Datei

calle_2007

Grünschnabel
Hi Leute ich habe hier eine Aufgabe bekommen die ich wohl ohne Eure Hilfe nicht gelöst bekomme.

Die Aufgabe besteht darin aus einer beliebige Text Datei die Wörter heraus zu lesen und diese mit ihren jeweiligen Zeilennummern in einer generisch Dynamischen Liste zu Speichern. Die entstandene List soll dann später in einer Datei gespeichert oder auf dem Bildschirm ausgegeben werden.

Das einlesen soll später noch so manipuliert werden können, so dass beim Aufruf des Progs per Parameter eingegeben werden kann das nur Wörter mit einer maximalen Länge von 3 eingelesen werden.

Nun bin ich schon soweit das ich jeder einzelne Zeile ein Datei einlesen kann, jedoch weiß ich nicht genau wie ich aus diesem String(die Zeile die ich eingelesen habe) die einzelnen Wörter auslesen kann.

Oder ist es vielleicht möglich, das ich da ganz falsch ran gehe ? Und ich besser jedes Zeichen einzeln aus der Datei lesen sollte. Diese dann irgendwie analysieren um zu schauen, ob das Wort schon zu Ende ist.

Vielleicht könnt Ihr mir ja einen Tip geben. Ich stehe nämlich im Moment echt auf dem Schlauch.

Gruß Calle_2007
 
Hi calle_2007
Wörter werden ja logischerweise mit einem Leerzeichen getrennt. Mit Hilfe einer Schleife könntest du jedes Zeichen in dem String mit einem Leerzeichen vergleichen. Wenn dies der Fall ist, dann ergeben die paar Zeichen vor dem Leerzeichen ein Wort. Dieses kannst dann in deine Liste einfügen.

Viele Grüße
 
JA das habe ich mir auch schon überlegt, jedoch währe ja noch das Problem alle mögliche alle Möglichen Sonderzeichen aus dem Text zu fischen wie z.B. ",.:;+.. um wirklich nur das Wort zu haben. Gut das müsste ich bei dem String auch machen, aber da muss ich die 3 verschiedenen Zeilenende Zeichen nicht beachten.

Daher dachte ich, dass es leichte währe zuerst die Strings zu lesen und die Strings zu bearbeiten. Aber wenn das wirklich nicht geht muss ich wohl jedes Zeichen einzelnd einlesen und bearbeit .

Trotzdem schon einmal ein dickes Danke
 
Hi. Also die Idee Bullja kling ganz gut. Du brauchst erstmal eine Schleife (man nehme while(true){}). Dan brauchst du eine Variable, die mitzählt, bei welchem Zeichen du gerage bist, und eine Buffervariable, in der steht, wo dein letztes Leerzeichen war.
In einer ASCII-Tablelle kannst du nachgucken, welchen ASCII-Code jedes Zeichen besitzt. D.h. eine leerzeichen entspäche:
PHP:
char(032)
 
Zurück