Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

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

Empfohlene Antworten

Veröffentlicht

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

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.

Guten Morgen,

Nach weiterem Recherchieren habe ich die Lösung für mien Problem gefunden.

Die InStr-Funktion sucht Strings in angegebenen Strings... :D

Trotzdem vielen Dank für deine Antwort MarkusLe

Grüße

Notterich

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.