VisualBasic Snippets  

Anzahl der Zeichen bis zum x-ten Vorkommen eines Zeichens:
 

Das erste vorkommen eines Zeichens zu ermittel ist kein Problem, Dank InStr.
Das ganze wird aber komplieziert, wenn z.B. das dritte Leerzeichen in einem Text gesucht wird. Hier ist eine Lösung:

Public Function tsInStr(tsText As String, tsSuche As String, tsCount As Long)
Dim tsX As Long, tsPos As Long

  tsSuche = Left(tsSuche, 1)
  tsPos = 1

  For tsX = 1 To tsCount
    tsPos = InStr(tsPos + 1, tsText, tsSuche)
      If tsPos = 0 Then
        tsInStr = False
        Exit Function
      End If
    Next
    tsInStr = tsPos

End Function

Ist das gesuchte Zeichen nicht so oft vorhanden wird False zurückgegeben.

Der Aufruf gestaltet sich sehr einfach:

? tsInstr("ABC ABC ABC","B",3)

Liefert:
10


   
   

© '2000 by T. Schindzielorz