InStrRev
返回一个字符串在另一个字符串中从字符串末尾开始出现的位置。
语法:InStrRev( stringcheck, stringmatch [ , start [ , compare ] ] )
- stringcheck
- 必需 被搜索的字符串表达式。
- stringmatch
- 必需 要查找的字符串表达式。
- start
- 可选 数值表达式,设置每次搜索的起始位置。如果省略,则使用-1,表示从最后一个字符位置开始搜索。如果start包含Null,则会出错。
- compare
- 可选 数值,指示在计算子字符串时使用的比较类型。如果省略,则执行二进制比较。参见下面的设置。
compare参数可以取以下值:
| 常量 | 值 | 描述 |
|---|---|---|
| vbUseCompareOption | -1 | 使用Option Compare语句的设置进行比较。 |
| vbBinaryCompare | 0 | 执行二进制比较。 |
| vbTextCompare | 1 | 执行文本比较。 |
返回值:
| 条件 | InStrRev返回值 |
|---|---|
| stringcheck为零长度 | 0 |
| stringcheck为Null | Null |
| stringmatch为零长度 | start |
| stringmatch为Null | Null |
| stringmatch未找到 | 0 |
| 在stringcheck中找到了stringmatch | 找到匹配的位置 |
| start > Len(stringcheck) | 0 |
INFO
InStrRev函数的语法与InStr函数的语法不同——注意搜索参数的顺序不同。
除非stringmatch末尾字符的位置小于或等于start,否则InStrRev不会找到stringmatch的实例。
示例
本示例使用InStrRev查找子字符串的最后一次出现。
vb
Debug.Print InStrRev("a.b.c", ".") ' 4 — last dot
Debug.Print InStrRev("a.b.c", ".", 3) ' 2 — last dot at or before position 3
Debug.Print InStrRev("a.b.c", "x") ' 0 — not found另请参阅
- InStr函数