《VB InStr函数(7页).doc》由会员分享,可在线阅读,更多相关《VB InStr函数(7页).doc(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-VB InStr函数-第 6 页VB中InStr函数的功能及用法返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。语法 InStr(start, string1, string2, compare)InStr 函数的语法具有下面的参数:部分说明start可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。string1必要参数。接受搜索的字符串表达式。string2必要参数。被搜索的字符串表达式。Compare可选参数。指定字符
2、串比较。如果 compare 是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。设置compare 参数设置为:常数值描述vbUseCompareOption-1使用Option Compare 语句设置执行一个比较。vbBinaryCompare0执行一个二进制比较。vbTextCompare1执行一个按照原文的比较。vbDatabaseCompare2仅适用于Microsoft Access,执行一个基于数据库中信息的比较。返回值如果InStr返回string1 为零长度0string1 为 NullNullstring2 为零长度S
3、tartstring2 为 NullNullstring2 找不到0在 string1 中找到string2 找到的位置start string20说明InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。【示例】本示例使用InStr函数来查找某字符串在另一个字符串中首次出现的位置。DimSearchString,SearchChar,MyPosSearchString=XXpXXpXXPXXP被搜索的字符串。SearchChar=P要查找字符串P。从第四个字符开始,以文本比较的方式找起。返回值为6(小写p)。小写p和大写P在文本比较下是一样的
4、。MyPos=Instr(4,SearchString,SearchChar,1)从第一个字符开使,以二进制比较的方式找起。返回值为9(大写P)。小写p和大写P在二进制比较下是不一样的。MyPos=Instr(1,SearchString,SearchChar,0)缺省的比对方式为二进制比较(最后一个参数可省略)。MyPos=Instr(SearchString,SearchChar)返回9。MyPos=Instr(1,SearchString,W)返回0。【备注】InStrB函数作用于包含在字符串中的字节数据。所以InStrB返回的是字节位置,而不是字符位置。函数值类型和函数功能如下表所示。
5、字符串函数函数名函数值类型功能举例Chr$(N)String求以N为ASCII码的字符Chr(65)=“A”Str$(N)String将N转换为字符串,如果N0,则返回的字符串中包含一个前导空格,暗示有一个正号Str$(-12345)=“-12345”Str(12345)=“12345”Len(C)Long求字符串C中包含的字符个数Len(“Abab字符串4)=8Ucase$(C)String将字符串C中的小写英文字母转换成大写英文字母Ucase(“abABabc)=ABABABCLcase$(C)String将字符串C中的大写英文字母转换成小写英文字母Ucase(“abABabc)=abab
6、abcSpace$(N)String产生N个空格组成的字符串Len(Space(6)=6String$(N,C)String产生N个由C指定的第一个字符组成的字符串,C可以是ASCII码数String(6,”ABC”)=“AAAAAA”String(6,65)=“AAAAAA”Left(C,N)String从字符串C的最左边开始,截取N个字符Left$(“ABCDEF,3)=ABC”Right$(C,N)String从字符串C的最右边开始,截取N个字符Right$(“ABCDEF,3)=DEF”Mid$(C,N1,N2)String从字符串C中N1指定的起始位置处开始,截取N2个字符Mid(“
7、ABCDEF”,2,3)=”BCD”Mid(“ABCDEF”,2)=”BCDEF”Ltrim$(C)String删除字符串C中的前导空格Ltrim(“ABCD”)=ABCD”Rtrim$(C)String删除字符串C中的尾部空格Ltrim(“ABCD”)=ABCD”Trim$(C)String删除字符串参数中的前导和尾部空格Ltrim(“ABCD”)=ABCD”StrComp(C1,C2,N)Integer比较字符串C1和字符串C2的大小,N是比较类型,取值0、1或2StrComp(“ABC,”abc,1)=0StrComp(“ABC,”abc,0)=-1StrComp(“abc,”ABC,0
8、)=1InStr(N1,C1,C2,N2)Integer在字符串C1中,从N1开始到N2位置,开始找C2,省略N1时从C1头开始找,省略N2时找到C1尾止。找不到时,函数值为0InStr(2,”ABCDE”,”C”,4)=3InStr(2,”ABCDEF”,”CDE”)=3InStr(”ABCDEFGH”,”CDE”)=3InStr(”ABCDEFGH”,”XY”)=0说明:(1)表中的C表示是字符串表达式,表中的N表示是数值表达式(2)对于数值函数Val(C),逗号“,”和美圆符号“$”,都不能被识别;空格、制表符和换行符都将从参数中去掉;当遇到字母E或D时,将其按单精度或双精度实型浮点数处
9、理。(3)LenB(C)函数与Len(C)函数功能相近,只不过LenB函数求的是字符串的字节数,而不是字符串中字符的个数。例如:LenB(“ABCabc123)=18,LenB(“字符串”)=6。(4)对于产生字符串函数String$(N,C),其中,C参数可以为任何有效的数值表达式或字符串表达式,如果为数值表达式,则表示组成字符串的字符的ASCII码;如果为字符串表达式,则其第一个字符将用于产生字符串。(5)对于字符串左截函数Left(C,N),N参数为数值表达式,其值指出函数值中包含多少个字符,如果其值为0,则函数值是长度为零的字符串(即空串);如果其值大于或等于字符串C中的字符数,则函数
10、值为整个字符串。LeftB函数与Left函数功能相近,只不过LeftB函数求的是字符串的字节数,而不是字符串中字符的个数。LeftB(“ABCDE”,6)=”ABC”。(6)对于字符串右截取函数Right(C,N),N参数为数值表达式,其值指出函数值中包含多少个字符。如果其值为0,则函数值为空串;如果其值大于或等于字符串C中的字符个数,则函数值为整个字符串。RightB函数与Right函数功能相近,只不过RightB函数求的是字符串的字节数,而不是字符串中字符的个数。RightB(“ABCDE”,6)=”CDE”。(7)N1是数值表达式,其值表示开始截取字符的起始位置。如果该数值超过字符串C中
11、的字符数,则函数值为空串。N2是数值表达式,其值表示要截取的字符数。如果省略该参数,则函数值将包含字符串C中从起始位置到字符串末尾的所有字符。MidB函数与Mid函数功能相近,只不过MidB函数求的是字符串的字节数,而不是字符串中字符的个数。例如:MidB(“ABCDEFG”,5,8)=”CDEF”。(8)因为将一字符串赋值给一定长字符串变量时,如字符串变量的长度大于字符串的长度,则用空格填充该字符串变量尾部多余的部分,所以在处理定长字符串变量时,删除空格的Ltrim和Rtrim函数是非常有用的。(9)对于字符串比较函数StrComp(C1,C2,N),N是指定字符串的比较类型。比较类型可以是0、1或2,若比较类型为0,则执行二进制比较,此时英文字母区分大小写;若比较类型为1,则执行文本比较,此时英文字母不区分大小写;若比较类型为2,则是执行基于数据库信息的比较,仅对MicrosoftAccess起作用。若省略该参数,则默认比较类型为0。当字符串C1小于字符串C2时,函数值为1;当字符串C1等于字符串C2时,函数值为0:当字符串C1大于字符串C2时,函数值为1。
限制150内