很多人常常认为InStr 和 InStrRev 的值是一样的,觉得很奇怪。
比如 InStrRev("1234567890abcde1234","abcde") 和 InStr("1234567890abcde1234","abcde") 的值都是11
的确,在上面这个情况下,他们俩的值是一样的,让我们来仔细看看。
官方说明中 InStr 是返回某字符串在另一字符串中第一次出现的位置 。
还有另一个类似的函数叫 InStrRev,官方说明中是返回某字符串在另一个字符串中出现的从结尾计起的位置。
以前我也以为 InStrRev 的意思是倒着数
我之前认为 InStrRev("1234567890abcde1234","abcde") 的值是 5,是从后往前数,其实这是错误的
正确的说明是, InStrRev 还是从左往右算位置,但是查找比较的时候是从尾部开始比较的(从右开始)
比如 InstrRev("1234567890abcde1234abcde","abcde") 的值是 20,因为存在两个"abcde"
那么 Instr("1234567890abcde1234abcde","abcde") 的值是 11
在这种情况下 Instr,InstrRev就不一样的