instr的用法.谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/30 06:00:19
Dim SearchString, SearchChar, MyPos
SearchString ="XXpXXpXXPXXP" ' 要搜索的字符串。
SearchChar = "P" ' Search for "P".
MyPos = Instr(4, SearchString, SearchChar, 1) ' 在位置 4 进行的文本比较。返回 6。
MyPos = Instr(1, SearchString, SearchChar, 0) ' 在位置 1 进行的二进制比较。返回 9。
MyPos = Instr(SearchString, SearchChar) ' 默认情况下,进行的是二进制比较(省略了最后的参数)。返回 9。
MyPos = Instr(1, SearchString, "W") ' 在位置 1 进行的二进制比较。返回 0(找不到 "W")。
那个说明我完全看不懂..谢谢 说是进行二进制比较..难道把字符串都换在数字在转二进制..怎么比啊

这个很简单,他的格式是:
InStr([start, ]string1, string2[, compare])
你要把这个语法理解了,就没问题了!
其中:
start:设置开始查找的位置,可以省略,省略时默认从第一个字符开始查找,
string1是源字符
string2可以说是关键字
最后一个compare别管他啥2进制,一般找字符串就理解为是否区分大小写,如你的例题,返回6的那句,把他的值设为1,就是不区分大小写,因为是从第四个字符开始往后找,而且不区分大小写,所以返回值才是6
还如你的例子,返回值是9的那句,
MyPos = Instr(1, SearchString, SearchChar, 0)
这句的意思是,从第一个字符开找,并且compare是0,就是区分大小写,所以第9个字符是大写P,所以返回值是9
还有,如果找不到,返回值是 0
这样应该明白了吧,

能仔细一点吗?把人家的东西粘过来...我可以粘几本书..
能具体分析一下吗?

返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。

语法

InStr([start, ]string1, string2[, compare])

InStr 函数的语法具有下面的参数:

部分 说明
start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。
string1 必要参数。接受搜索的字符串表达式。
string2 必要参数。被搜索的字符串表达式。
Compare 可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。

设置

compare 参数设置为:

常数 值 描述
vbU