RSS Feed
Download our iPhone app
Browse DevX
Sign up for e-mail newsletters from DevX

By submitting your information, you agree that devx.com may send you DevX offers via email, phone and text message, as well as email offers about other products and services that DevX believes may be of interest to you. DevX will process your information in accordance with the Quinstreet Privacy Policy.

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