Skip to content

InStr, InStrB

返回一个VariantLong),指定一个字符串在另一个字符串中首次出现的位置。

语法:

  • InStr( [ start , ] string1, string2 [ , compare ] )
  • InStrB( [ start , ] string1, string2 [ , compare ] )
start
可选 数值表达式,设置每次搜索的起始位置。如果省略,则从第一个字符位置开始搜索。如果start包含Null,则会出错。如果指定了compare,则start参数是必需的。
string1
必需 被搜索的字符串表达式。
string2
必需 要查找的字符串表达式。
compare
可选 指定字符串比较的类型。如果compareNull,则会出错。如果省略compare,则由Option Compare设置决定比较类型。指定有效的LCID(LocaleID)可在比较中使用区域特定规则。

compare参数的设置为:

常量描述
vbUseCompareOption-1使用Option Compare语句的设置进行比较。
vbBinaryCompare0执行二进制比较。
vbTextCompare1执行文本比较。

返回值:

条件InStr返回值
string1为零长度0
string1NullNull
string2为零长度start
string2NullNull
string2未找到0
string1中找到了string2找到匹配的位置
start > Len(string2)0

InStrB函数用于处理字符串中包含的字节数据。InStrB不返回一个字符串在另一个字符串中首次出现的字符位置,而是返回字节位置。

示例

本示例使用InStr函数返回一个字符串在另一个字符串中首次出现的位置。

vb
Dim SearchString, SearchChar, MyPos
SearchString = "XXpXXpXXPXXP"    ' String to search in.
SearchChar = "P"                 ' Search for "P".

' A textual comparison starting at position 4. Returns 6.
MyPos = InStr(4, SearchString, SearchChar, 1)

' A binary comparison starting at position 1. Returns 9.
MyPos = InStr(1, SearchString, SearchChar, 0)

' Comparison is binary by default (last argument is omitted).
MyPos = InStr(SearchString, SearchChar)    ' Returns 9.

MyPos = InStr(1, SearchString, "W")    ' Returns 0.

另请参阅

twinBASIC及其LOGO版权为作者"韦恩"所有