instrrev(instrrev函数)
VB,InstrRev函数怎么用。不要给我复制MSDN的解释
VB中的InStr()函数与InStrRev()函数:
都是在主字符串当中搜寻寻找子字符串,返回找到的子字符串在主字符串中出现的位置;
不同在于;
InStr()函数,从左开始向右寻找,InStrRev()函数,从右开始向左寻找。
举例1:
Dim ss As String
Dim N As Integer
ss = "上海ABC123上海999"
Print InStr(ss, "上海") '显示1
Print InStrRev(ss, "上海") '显示9
注意:返回的数值,都是表示子串在主串中,从左到右的位置
举例2:
Print InStr("ABCD1234ADC567", "D") '返回4
Print InStrRev("ABCD1234ADC567", "D") '返回10
如果找不到子串,则返回0
Print InStr("ABCD1234ADC567", "X") '返回0
这两个函数,在使用的时候,还可以指定从主串的第几位字符开始搜索寻找
例如:
ss = "上海ABC123上海999"
Print InStr(1,ss, "上海") '从左边第1个字符开始向右搜索寻找,结果返回1
Print InStr(2,ss, "上海") '从左边第2个字符开始向右搜索寻找,结果返回9
Print InStrRev(ss, "上海", 13) '从左起第13个字符开始向左搜索寻找,结果返回9
Print InStrRev(ss, "上海", 12) '从左起第13个字符开始向左搜索寻找,结果返回9
Print InStrRev(ss, "上海", 9) '从左起第13个字符开始向左搜索寻找,结果返回1
注意:
InStr()函数与InStrRev()函数,格式稍有不同。
asp中的instrrev的用法
简单地说,
InstrRev函数,就是从被搜索字符串的最后一个字符开始搜索,找到要搜索的字符串在被搜索字符串中第一次出现的位置。它与InStr函数的搜索顺序相反,计数起始位置也相反。
---------------------
InStrRev
函数
描述:返回某字符串在另一个字符串中出现的从结尾计起的位置。
语法:InStrRev(string1,
string2[,
start[,
compare]])
InStrRev
函数的语法有以下参数:
参数---------------
描述
string1
必选。接受搜索的字符串表达式。
string2
必选。被搜索的字符串表达式。
start
可选。数值表达式,用于设置每次搜索的开始位置。如果省略,则默认值为
-1,表示从最后一个字符的位置开始搜索。如果
start
包含
Null,则出现错误。
compare
可选。在计算子字符串时,指示要使用的比较类型的数值。如果省略,将执行二进制比较。有关数值,请参阅“设置”部分。
设置
compare
参数可以有以下值:
常数
Value
描述
vbBinaryCompare
执行二进制比较。
vbDatabaseCompare
2
执行基于包含在数据库(在此数据库中执行比较)中的信息的比较。
返回值
InStrRev
返回以下值:
如果
InStrRev
返回
string1
为零长度
string1
为
Null
Null
string2
为零长度
start
string2
为
Null
Null
string2
没有找到
在
string1
中找到
string2
找到匹配字符串的位置
start
Len(string2)
说明
下面的示例利用
InStrRev
函数搜索字符串:
Dim
SearchString,
SearchChar,
MyPos
SearchString
="XXpXXpXXPXXP"
'要在其中搜索的字符串。
SearchChar
=
"P"
'
搜索
"P"。
'二进制比较从第10个字符开始。返回
9。
MyPos
=
InstrRev(SearchString,
SearchChar,
10,
0)
'文本比较从最后一个字符开始。返回
12。
MyPos
=
InstrRev(SearchString,
SearchChar,
-1,
1)
'
缺省为二进制比较(最后一个参数省略)。返回
0。
MyPos
=
InstrRev(SearchString,
SearchChar,
8)
--------------------------------------------------------------------------------
注意
InStrRev
函数的语法不同于InStr
函数的语法。
--------------------------------------------------------------------------------
关于instrrev()
肯定是3了,是你理解公式错了。
InStr是从前面查找起,InStrRev是从后面查找起,但计算位置都是从前面算的。
举个例子,在("E:\新建文件夹")后面加上一个“\"。
a = InStrRev("E:\新建文件夹\", "\") 则a=9 因为它是从后面查找起,而不是后面算起。
VB 匹配位置函数InStr()和匹配位置反查函数InStrRev()的区别
VB 匹配位置函数InStr()和匹配位置反查函数InStrRev()的区别是:
InStr函数返回一个字符串在另一字符串中(从字符串左起)最先出现的位置。
InStrRev函数返回一个字符串在另一个字符串中(从字符串的末尾算起)出现的位置,
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 = Instr(SearchString, SearchChar) ? ' 返回 9。
MyPos = Instr(1, SearchString, "W") ? ' 返回 0。
[VB] InStrRev 用法
dim a as integerdim b as integer a=instr(1,源码,"uin=",)b=instr(a,源码,";")text1.text=mid(源码,a+4,b-a+4)