German Textzeile in Datei finden

peternmb

Well-Known Member
Licensed User
Longtime User
Hallo,

ich habe ein Textdatei mit verschiedenen zeilenweisen Einträgen, z.B.
Peter Maier, München
Hans Moser, Nürnberg
usw.

Bisher kannte ich den gesamten Text der Zeile die ich suche und habe das so gelöst:
B4X:
suchtext="Peter Maier, München"
ListVar = File.readlist(File.DirInternal,"LFtmp.txt")
zeile=ListVar.IndexOf(suchtext) 
if zeile = -1 Then        'nicht gefunden

Nun kenne ich aber nur noch den Namen, ohne Ort - da funktioniert das so nicht mehr.
Mache ich etwas falsch oder gibt es eine alternative Suchmöglichkeit?

PS.: ich benötige die Zeilennummer des Eintrages
 

DonManfred

Expert
Licensed User
Longtime User
B4X:
Sub Search(searchfor As String) As Int
    Dim l As List = File.readlist(File.DirInternal,"LFtmp.txt"))
    Dim result As Int = -1
    If l.IsInitialized And l.Size > 0 Then
        For i=0 To l.Size-1
            Dim value As String = l.Get(i)
            If value.Contains(searchfor) Then
                result = i
            End If
          If result >-1 Then Exit
        Next
    End If
    Return result
End Sub

Einsatz:
B4X:
dim index as int = search("Peter Maier")
 
Top