Zum Inhalt springen

VB.NET: "Suchen" von Strings/Variablen in einer Textdatei und Konsolenausgabe


Notterich

Empfohlene Beiträge

Hallo zusammen,

Ich schreibe momentan an einer VB.Net Konsolenanwendung,

welche in der täglichen Arbeit eine einfache Verwaltung von Logfiles ermöglichen soll. Diese beinhaltet eine Funktion, welche eine bestimmte .log-Datei ausliest und dem Programm zur Verfügung stellt. Aus dieser Datei sollen folgende Informationen ausgelsen werden:

-> Zeilen, welche das aktuelle Datum aus dem String "day" enthalten UND

-> einen oder mehrere Werte/Inhalte weiterer Strings/Variablen beinhaltet.

Falls diese Inhalte zutreffen, werden die Zeilen auf der Commandline ausgegeben. Dies funktioniert bisher leider nur mit der Angabe von Zeichenketten.

Meine Frage:

Gibt es die Möglichkeit mit einer String-Methode nach Strings(also vorher gefüllten Variablen) in der .log-Datei zu suchen? Bis jetzt habe ich nur ".StartsWith", ".Equals" oder ".Compares" gefunden, welche aber leider nur mit Zeichenfolgen einen korrekten Output liefern, Variablen scheinen nicht zu funktionieren. Dies ist für den Code relativ sinnlos, da wir gerne "dynamisch" nach Informationen aus den .log-files suchen wollen.


    Function GetInfoFromFile()

        Dim cultInfo As CultureInfo

        cultInfo = CultureInfo.CreateSpecificCulture("en-us")

        Thread.CurrentThread.CurrentCulture = cultInfo

        Dim sr As IO.StreamReader

        Dim day As String

        day = Now.ToShortDateString

        Dim line As String

        If strErr = 0 Then

            If strIp_address = "" Then

                sr = New IO.StreamReader("\\" & strHostname & "\C$\blabla")

                Do

                    line = sr.ReadLine()

                    If IsNothing(line) Then Exit Do

                    If line.StartsWith(day) Then 'HIER soll der "richtige Code" stehen

                        Console.WriteLine(line)

                    End If

                Loop

                sr.Close()

            Else

                sr = New IO.StreamReader("\\" & strIp_address & "\C$\blabla")

                Do

                    line = sr.ReadLine()

                    If IsNothing(line) Then Exit Do

                    If line.StartsWith(day) Then  'HIER soll der "richtige Code" stehen

                        Console.WriteLine()

                    End If

                Loop

                sr.Close()

            End If

        Else

        End If

    End Function

Bitte beschweren, falls die obige Beschreibung zu unpräzise ist!

Ich bitte um Eure Hilfe und hoffe auf viele Ideen. :)

Viele Grüße

Notterich

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wie wärs, wenn Du die Datei einfach zeilenweise durchparst, und für die Suche nach bestimmten Schlüsselworden .Contains benutzt?

Wenn Du das ganze allerdings richtig elegant lösen willst, dann wären entsprechende RegEx eine Möglichkeit, wird Dich allerdings einiges an Einarbeitungszeit kosten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...