Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB7
Expertise: beginner
Apr 20, 2002



Building the Right Environment to Support AI, Machine Learning and Deep Learning

InstrTblRev - The last occurrence of a char in a table

' If INCLUDE is True or is omitted, return the last occurrence of a character 
' in a group
' or -1 if SOURCE doesn't contain any character among those listed in TABLE.
' If INCLUDE is False, return the last occurrence of the character in SOURCE
' that does not appear in TABLE.
' string indices are zero-based
' START = -1 searches from the end of string
' TABLE can be in the form "A-Z"

Function InstrTblRev(ByVal Start As Integer, ByVal Source As String, _
    ByVal Table As String, Optional ByVal Include As Boolean = True, _
    Optional ByVal CaseInsensitive As Boolean = False) As Integer
    ' create the regular expression
    Dim pattern As String
    If Include Then
        pattern = "[" & Table & "]"
        pattern = "[^" & Table & "]"
    End If
    ' prepare the correct regex option
    Dim options As Text.RegularExpressions.RegexOptions
    If CaseInsensitive Then
        options = Text.RegularExpressions.RegexOptions.IgnoreCase
    End If
    ' create the Regex object
    Dim re As New Text.RegularExpressions.Regex(pattern, options)

    ' adjust arguments for backward search
    Source = StrReverse(Source)
    If Start >= 0 And Start < Source.Length Then
        Start = Source.Length - Start
        Start = 0
    End If

    ' find the match
    Dim ma As Text.RegularExpressions.Match = re.Match(Source, Start)
    ' return the found index, or -1
    If ma.Success Then
        Return Source.Length - ma.Index - 1
        Return -1
    End If

End Function
Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date