InStrRev
Locates the last occurrence of a substring or character within a string
Important note: In versions up to and including v0.20.0b, `InStrRev` contains a bug which may cause it to skip some matches. This is corrected as of v0.21.0b.
Syntax
`
Declare Function InStrRev ( ByRef str As Const String, [ Any ] ByRef substring As Const String, ByVal start As Integer = -1 ) As Integer
Declare Function InStrRev ( ByRef str As Const WString, [ Any ] ByRef substring As Const WString, ByVal start As Integer = -1 ) As Integer
`
Usage
`
last = InStrRev( str, [ Any ] substring [, start ] )
`
Parameters
`str`
The string to be searched.
`substring`
The substring to find.
`start`
The position in `str` at which the search will begin.
Return Value
The position of the last occurrence of `substring` in `str`.
Description
Locates the position of the last occurrence of a substring or character within a string. If `start` parameter is not given or is -1, the search begins at the last character.
Zero (0) is returned if `substring` is not found, or either `str` or `substring` are empty strings, or `start` is less than 1 (except for -1), or start is greater than the length of `str`.
If the `Any` keyword is specified, `InStrRev` returns the last occurrence of any character in `substring`.
Example
`
' It will return 4
Print InStrRev("abcdefg", "de")
' It will return 0
Print InStrRev("abcdefg", "h")
`
`
Dim test As String
Dim idx As Integer
test = "abababab"
idx = InStrRev(test, "b")
Do While idx > 0 'if not found loop will be skipped
Print """b"" at " & idx
idx = InStrRev(Test, "b", idx - 1)
Loop
`

'A Unicode example: dim text as wstring*20 text = "Привет, мир!" print instrrev(text,"ет") ' displays 5

Platform Differences

- The wide-character string version of `InStrRev` is not supported for DOS target.

Dialect Differences

- Not available in the -lang qb dialect unless referenced with the alias `__Instrrev`.

Differences from QB

- New to FreeBASIC

See also

- `InStr`
- `Mid (Function)`