Textdatei nach mehrfach vorkommenden String durchsuchen

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von Jings.

    Textdatei nach mehrfach vorkommenden String durchsuchen

    Hi,

    ich hab drei Fragen, wovon die erste sicherlich ganz simpel ist aber ich weiß einfach nicht, was ich bei Google eingeben soll. Meine Suchquerys werden einfach immer zu lang 8-).

    Ich hab ne Textdatei, in der eine Zeichenfolge mit gleichem Muster mehrfach vorkommt. Nun möchte ich auch wirklich alle auslesen.

    Die Zeichenfolge sieht in etwa so aus:

    Quellcode

    1. "uri"; "http://www.google.de/"


    und diese Zwichenfolge kommt halt sehr oft je nach Größe der Datei vor. Die will ich alle auslesen und in eine Listbox schreiben. Wie ich ne Datei auslese ist kein Ding. Aber wenn ich nur einmal danach suche bekomm ich ja auch nur ein Ergebnis ausgespuckt. Es wird wahrscheinlich mit einer Schleife funktionieren. Und irgendwas mit Streamreader.Peek oder sowas.

    Möchte halt nur wissen, ob ihr da ein paar Vorschläge habt, wie ich das ganze angehen kann.

    Dann meine zweite Frage:
    Ich arbeite immer noch mit der veralteten VB6 Funktion

    VB.NET-Quellcode

    1. InStr() 'und
    2. Mid()

    Wie lauten da die neuen Funktionen in .Net?

    Hab da irgendwas in Errinerung, dass die neuen Funktionen unter .Net schneller und Ressourcensparender sind.

    Meine dritte und vorerst letzte Frage :P
    Gibt es was Ressourcensparenderes als eine neue Instanz des Streamreaders zu starten mit:

    VB.NET-Quellcode

    1. Dim reader as Streamreader = New Streamreader(Path)

    Mit der ich Dateien schnell und einfach auslesen kann? Oder ist das eigentlich schon die beste Methode?

    Danke schonmal für eure Antworten :)

    Gruß
    Jings
    Danke für die Antwort...wie ich einen bestimmten String aus nem Text filtere mit IndexOf und Substring, weiß ich...

    Der String kommt aber mehr als einmal in dem Text vor und ich will alle auslesen.

    Muss ja mit irgendeiner Schleife funktionieren, nur weiß ich nicht, wie ich da genau vorgehen muss...
    Willst du eigentlich nur zählen wie oft der Text im Text vorkommt, oder willst du vor oder nach dem
    Text bestimmte Abschnitte herausfiltern die dich interessieren?


    Ich kann mir jetzt nämlich nicht vorstellen wozu du 20 mal:

    "uri"; "http://www.google.de/"
    "uri"; "http://www.google.de/"
    "uri"; "http://www.google.de/"
    "uri"; "http://www.google.de/"
    "uri"; "http://www.google.de/"
    "uri"; "http://www.google.de/"
    "uri"; "http://www.google.de/"
    .
    .
    .
    in einer ListBox haben willst.

    Möglicherweise willst du ja nach dem "uri" suchen, und den String danach, in diesem Fall "http://www.google.de/"
    heraus filtern.
    Dann wird die Sache nämlich etwas komplexer.

    Jings schrieb:

    Nun möchte ich auch wirklich alle auslesen.

    hmm, gerade wenn man schon etwas länger in .NET unterwegs ist, kommt man irgendwann nicht mehr an dem etwas sperrigen Regex vorbei. Damit kannst Du extrem schnell String-Patterns auslesen, auch sämtliche wiederkehrende Muster die dann in sogenannten MatchCollections auslesen kann.

    Generell ist das Arbeiten mit der Regex Klasse selber ziemlich einfach, nur die "SuchPatterns" sind es die Anfänger und etwas Fortgeschrittene ( gell Singu ? :whistling: ) gerne zur Verzweiflung treiben.
    Ouhja, da sprichst du da richtige Thema an und erklärst es genau richtig, wie es mir mit dem Thema geht :D

    Danke an euch alle für die Antworten ich werd mich wohl oder übel in Regex mal reinfuchsen müssen und meld mich sobald ich wieder Probleme haben sollte =)


    Gruß
    Jings