Das letzte Vorkommen einer Zeichenfolge in einem String

Es gibt zahlreiche Situationen, in denen es nicht nur wichtig ist, zu ermitteln, ob eine Teilzeichenfolge in einer Zeichenkette vorkommt, sondern auch, wo sein letztes Vorkommen in der Zeichenkette beginnt. Das ist gar nicht so einfach, zumindest dann nicht, wenn der Code auch in Access 97 noch funktionieren soll.

Auf den ersten Blick scheint es recht simpel, das letzte Vorkommen einer Zeichenfolge in einer anderen zu finden. Sie drehen die Zeichenkette einfach mit der strReverse-Funktion um und ermitteln dann das erste Vorkommen. Dann müssen Sie noch die ermittelte Position von der Länge der Zeichenkette abziehen und haben die Position des Vorkommens in der Originalzeichenkette.

Leider funktioniert das so nicht. Es gibt dabei gleich mehrere Probleme.

  • Die strReverse-Funktion steht erst ab VBA 6.0 zur Verfügung, ist in Access 97 also nicht verfügbar.

  • Die strReverse-Funktion dreht alle Zeichen um. Aus „test“ wird also „tset“. Solange Sie nur nach einem Zeichen suchen, ist das kein Problem, bei der Suche nach zwei Zeichen, wie beispielsweise „st“, werden Sie in der umgedrehten Zeichenfolge die gesuchte aber nicht finden.