Zoeken in txt en dan een aantal letters na een bepaald woord ook weergeven

Status
Niet open voor verdere reacties.

Schipperjte

Gebruiker
Lid geworden
24 jan 2006
Berichten
212
Hoi,

Ik wil graag zoeken in een txt bestand , en dan naar een bepaald woord bv "scherm".

Dan ook nog 30 letters na het woord.

Is dit mogelijk ?
 
Heb wat gevonden wat er een beetje op lijkt

Code:
   Dim alltexts As String() = System.IO.File.ReadAllLines("C:\Naam.txt")
        For Each textline As String In alltexts
            If textline.Contains("Scherm") Then
                Dim allwords As String() = textline.Substring(textline.IndexOf("Scherm")).Split(" ")
                If allwords.Length > 1 Then
                    TextBox1.Text = allwords(0) & " " & allwords(1)
                    Exit Sub
                Else
                    TextBox1.Text = allwords(0)
                    Exit Sub
                End If
            End If
        Next

Hij laat dan het woord naast scherm zien, maar het zou eigenlijk 30 letters na het woord moeten zijn.

Iemand een idee ?
 
Dit zorgt ervoor dat er 30 tekens in de TextBox staan:

[CPP]If TextBox1.TextLength > 30 Then
TextBox1.Text = TextBox1.Text.Remove(30, TextBox1.TextLength - 30)
End If[/CPP]


En vanwaar trouwens die 'Exit Sub' ? Wil je slechts 1 regel inlezen?
 
Even uit m'n hoofd, volgens mij ongeveer dit:
PHP:
Dim alltexts As String() = System.IO.File.ReadAllLines("C:\Naam.txt")
        For Each textline As String In alltexts
            If textline.Contains("Scherm") Then
                TextBox1.Text = textline.Substring(textline.IndexOf("Scherm"), 30)
            End If
        Next

Het beste kan je er dan ook nog een try-catch omheen zetten (om het ophalen van de substring) omdat niet iedere regel na dat woord 30 tekens hoeft te bevatten.
 
Het werkt , bedankt.

Heb deze gebruikt met try en catch
Code:
Dim alltexts As String() = System.IO.File.ReadAllLines("C:\Naam.txt")
        For Each textline As String In alltexts
            If textline.Contains("Scherm") Then
                TextBox1.Text = textline.Substring(textline.IndexOf("Scherm"), 30)
            End If
        Next
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan