InStrRev函数
语法:InstrRev(stringcheck, stringmatch[, start[, compare]])
说明:返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。
InstrRev函数语法有如下命名参数:
部分 |
描述 |
stringcheck |
必需的。要执行搜索的字符串表达式。 |
stringmatch |
必需的。要搜索的字符串表达式。 |
start |
可选的。数值表达式,设置每次搜索的开始位置。如果忽略,则使用–1,它表示从上一个字符位置开始搜索。如果start包含 Null,则产生一个错误。 |
compare |
可选的。数字值,指出在判断子字符串时所使用的比较方法。如果忽略,则执行二进制比较。关于其值,请参阅“设置值”部分。 |
设置值
compare参数值如下:
常数 |
值 |
描述 |
vbUseCompareOption |
–1 |
用Option Compare语句的设置值来执行比较。 |
vbBinaryCompare |
0 |
执行二进制比较。 |
vbTextCompare |
1 |
执行文字比较。 |
vbDatabaseCompare |
2 |
只用于Microsoft Access。基于您的数据库信息执行比较。 |
返回值
InStrRev返回值如下:
如果 |
InStrRev返回 |
stringcheck 长度为零。 |
0 |
stringcheck 为Null。 |
Null |
stringmatch 长度为零 |
Start |
stringmatch 为Null |
Null |
stringmatch 没有找到。 |
0 |
stringmatch 在 stringcheck 中找到。 |
找到匹配字符串的位置。 |
start > Len(stringmatch) |
0 |
说明
请注意,InstrRev函数的语法和Instr函数的语法不相同。
———————————————————————————————————————————————————————————
InStr 函数
语法:InStr([start, ]string1, string2[, compare])
说明:返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。
InStr 函数的语法具有下面的参数:
部分 |
说明 |
start |
可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。 |
string1 |
必要参数。接受搜索的字符串表达式。 |
string2 |
必要参数。被搜索的字符串表达式。 |
Compare |
可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。指定一个有效的LCID (LocaleID) 以在比较中使用与区域有关的规则。 |
compare 参数设置为:
常数 |
值 |
描述 |
vbUseCompareOption |
-1 |
使用Option Compare 语句设置执行一个比较。 |
vbBinaryCompare |
0 |
执行一个二进制比较。 |
vbTextCompare |
1 |
执行一个按照原文的比较。 |
vbDatabaseCompare |
2 |
仅适用于Microsoft Access,执行一个基于数据库中信息的比较。 |
如果 |
InStr返回 |
string1 为零长度 |
0 |
string1 为 Null |
Null |
string2 为零长度 |
Start |
string2 为 Null |
Null |
string2 找不到 |
0 |
在 string1 中找到string2 |
找到的位置 |
start > string2 |
0 |
说明
InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。
示例:
Sub 查找子串位置()
str1 = "鹤庆县HQX血吸虫病hqx2388HQX防治站"
Debug.Print InStrRev(str1, "hqx")
Debug.Print InStrRev(str1, "hqx", -1)
Debug.Print InStrRev(str1, "hqx", -1, vbTextCompare)
Debug.Print InStr(str1, "hqx")
Debug.Print InStr(7, str1, "hqx")
Debug.Print InStr(1, str1, "hqx", vbTextCompare)
Debug.Print InStr(1, str1, "hqx")
End Sub
立即窗口输出
11
11
18
11
11
4
11
InStr In String
InStrRev In String Reverse(反向)
用instr查找第3个"\":D:\BoChao\DLFS for 2004\NetSet.exe时要知道从第几个字符开始查找;
用InStrRev查找最后一个"\",就简单了
|