InStr
 
查找字符串中第一个出现的子字符串或字符

语法

Declare Function InStr Overload ( ByRef str As Const String, [ Any ] ByRef substring As Const String ) As Integer
Declare Function InStr ( ByRef str As Const WString, [ Any ] ByRef substring As Const WString ) As Integer
Declare Function InStr ( ByVal start As Integer, ByRef str As Const String, [ Any ] ByRef substring As Const String ) As Integer
Declare Function InStr ( ByVal start As Integer, ByRef str As Const WString, [ Any ] ByRef substring As Const WString ) As Integer

用法

first = InStr( [ start , ] str , [ Any ] substring )

参数

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

返回值

str 中第一次出现substring 的位置。

说明

查找字符串中子字符串或字符的第一次出现的位置。在InStr的第一种形式中,搜索从第一个字符开始。

如果找不到substring str substring 为空字符串,或start <1,则返回零(0)。

如果指定Any关键字,InStr将返回substring 中任何字符的首次出现。

例子

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

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

'它将搜索任何字符“f”,“b”,“c”,并返回2,首先遇到“b”
Print InStr("ABCDEFG", Any "FBCen")

Dim test As String
Dim idx As Integer

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

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

 
平台差异

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

与QB差别

  • 如果search 为零长度字符串,则QB返回start .
  • QB不支持Unicode。

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