InStr 查找文本
🎯功能
查找指定字符串在另一个字符串中第一次出现的位置
📜语法
结果 = InStr([起始位置, ]文本内容, 查找内容[, 对比方式])
📥参数
参数 | 数据类型 | 解释 |
---|---|---|
起始位置 | 整数型 | 可选, 表示从哪个位置开始查找, 省略默认从第1个位置开始 |
文本内容 | 字符串 | 接受查找的文本内容 |
查找内容 | 字符串 | 要查找的内容 |
对比方式 | 整数型 | 可选, 表示两个文本的对比方式, 0 为区分大小写, 1 为忽略大小写, 省略默认为0 , 若填写本参数, 则必须填写起始位置 参数 |
📤返回
整数型
, 返回找到的位置, 没找到返回0, 参数与返回值关系详见下表
如果 | InStr 返回 |
---|---|
文本内容 为零长度 | 0 |
文本内容 为 Null | Null |
查找内容 为零长度 | 起始位置 |
查找内容 为 Null | Null |
查找内容 没有找到 | 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