InStrRev
 
Находит последнее вхождение подстроки или символа в пределах строки

Важное примечание: В версиях до и включая v0.20.0b, InStrRev содержит ошибку, которая может привести к пропускам несколько соотвествий. Это исправлено в 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
Строка , в которой нужно произвести поиск.
substring
Подстрока , которую нужно найти.
start
Позиция в str , с котором начнется поиск. Первый символ начинается в позиции 1.

Возвращаемое значение

Позиция последнего вхождения substring в str.

Описание

Находит позицию последнего вхождения подстроки или символа в строке. Если параметр start не указан или равен -1, поиск начинается с последнего символа.

Возвращается ноль (0) если substring не найдена, либо str или substring пустые строки, или start меньше 1 (исключение -1), или start больше, чем длина str.

Если ключевое слово Any указано, InStr возвращает последнее вхождение любого символа в substring.

Пример

' Это вернет 4
Print InStrRev("abcdefg", "de")

' Это вернет 0
Print InStrRev("abcdefg", "h")

Dim test As String
Dim idx As Integer

test = "abababab"
idx = InStrRev(test, "b")

Do While idx > 0 'Если не найдено, цикл будет пропущен
    Print """b"" at " & idx
    idx = InStrRev(Test, "b", idx - 1)
Loop


 
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
'Пример Unicode:
dim text as wstring*20
text = "Привет, мир!"
print instrrev(text,"ет") ' отобразит 5