InStrRev
 
查找字符串中子字符串或字符的最后一次出现

重要提示:在v0.20.0b以上的版本中,InStrRev包含一个可能导致跳过某些匹配的错误。 这是从v0.21.0b修正的。

语法

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

用法

last = InStrRev( str , [ Any ] substring [, start ] )

参数

str
要搜索的字符串。
substring
要查找的子字符串。
start
str 中的搜索开始位置。第一个字符从位置1开始。

返回值

substring 中最后一次出现的位置str .

说明

找到字符串中子字符串或字符的最后一次出现的位置。如果start 参数未给出或为-1,搜索从最后一个字符开始。

如果没有找到substring ,或str substring 为空字符串,或start 小于1(-1除外),则返回零(0),否则start大于str .

如果指定Any关键字,则InStrRev返回substring 中任何字符的最后一次出现。

例子

'它会返回4
Print InStrRev("ABCDEFG", "de")

'它将返回0
Print InStrRev("ABCDEFG", "h")

Dim test As String
Dim idx As Integer

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

Do While idx > 0 '如果没有找到循环将被跳过
    Print "“”b“”" & idx
    idx = InStrRev(Test, "b", idx - 1)
Loop


 
平台差异

  • DOS目标不支持宽字符串版本InStrRev.

方言差异

  • -lang qb 方言中不可用,除非使用别名__Instrrev引用。

与QB差别

  • 新的FreeBASIC

参考
'一个Unicode例子:
昏暗的文字wstring * 20
text =“Привет,мир!”
print instrrev(text,“ет”)'显示5