跳到主要内容

InStr 查找文本

🎯功能

查找指定字符串在另一个字符串中第一次出现的位置

📜语法

结果 = InStr([起始位置, ]文本内容, 查找内容[, 对比方式])

📥参数

参数数据类型解释
起始位置整数型可选, 表示从哪个位置开始查找, 省略默认从第1个位置开始
文本内容字符串接受查找的文本内容
查找内容字符串要查找的内容
对比方式整数型可选, 表示两个文本的对比方式, 0为区分大小写, 1为忽略大小写, 省略默认为0, 若填写本参数, 则必须填写起始位置参数

📤返回

整数型, 返回找到的位置, 没找到返回0, 参数与返回值关系详见下表

如果InStr 返回
文本内容 为零长度0
文本内容NullNull
查找内容 为零长度起始位置
查找内容NullNull
查找内容 没有找到0
文本内容 中找到 查找内容找到匹配字符串的位置
起始位置 > Len(查找内容)0

💡示例

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' 要在其中搜索的字符串。
SearchChar = "P" ' 搜索 "P"。

'文本比较从第四个字符开始返回 6。
MyPos = Instr(4, SearchString, SearchChar, 1)

'二进制比较从第1个字符开始返回 9。
MyPos = Instr(1, SearchString, SearchChar, 0)

' 缺省为二进制比较(最后一个参数省略)。
MyPos = Instr(SearchString, SearchChar) ' 返回 9。

' 二进制比较从第1个字符开始返回 0 (没有找到 "W")。
MyPos = Instr(1, SearchString, "W")

📘备注

  • 有个衍生函数 InStrB , 这个函数使用包含在字符串中的字节数据,所以 InStrB 返回的不是一个字符串在另一个字符串中第一次出现的字符位置,而是字节位置。
  • 有个相似命令 instrrev