有关instr这个函数~~

来源:百度知道 编辑:UC知道 时间:2024/09/21 18:35:57
instr("efabcdefg","de")结果是6

结果是怎么出来的呀?
我觉得我跟vlaoda杠上了。。那个。。请问vlaoda,那个de不是两个字符么?为什么显示的结果不是6,7?
那如果题目变成instr("efabcdgef","de"),结果是什么呢?
如果是instr("efabcdefg","e"),那结果又是什么呢?

de在efabcdefg中出现的位置是第6个字符。

答案补充:
instr函数返回值是目标字符串在母字符串里第一次出现的位置(即字符数),所以,只能是一个数字,而且是整数。
当然这是在省略函数第一参数“开始位置”的情况下得到的。如果不省略,就是从指定位置向后找看看目标字符串是否在目字符串中,如果找到返回找到的位置,找不到就是0
instr("efabcdefg","e")的结果当然是1
instr(2,"efabcdefg","e")的结果就是7
instr(5,"efabcdefg","a")的结果就是0
instr("efabcdefg","k")的结果也是0

没有关系,互相讨论吧

InStr 函数示例
本示例使用 InStr 函数来查找某字符串在另一个字符串中首次出现的位置。

Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' 被搜索的字符串。
SearchChar = "P" ' 要查找字符串 "P"。

' 从第四个字符开始,以文本比较的方式找起。返回值为 6(小写 p)。
' 小写 p 和大写 P 在文本比较下是一样的。
MyPos = Instr(4, SearchString, SearchChar, 1)

' 从第一个字符开使,以二进制比较的方式找起。返回值为 9(大写 P)。
' 小写 p 和大写 P 在二进制比较下是不一样的。
MyPos = Instr(1, SearchString, SearchChar, 0)

' 缺省的比对方式为二进制比较(最后一个参数可省略)。
MyPos = Inst