+ -
当前位置:首页 → 问答吧 → instrrev函数如何反过来查找字符不含某个字的位置。

instrrev函数如何反过来查找字符不含某个字的位置。

时间:2011-08-18

来源:互联网

比方字符:
dim s as string
s="abc" & chr(0) & "ttt" & chr(0) & chr(0)
希望反过来查找T出现的位置
后面全是chr(0),出现次数不一定,,TTT也可能是别的字符。

也就是说想从后面查找字符,找到不同的字符出现时的位置。如果用一个字一个字的倒过来从后面向前检测肯定是可以,就是不知有什么办法更快。

作者: xiaoyao961   发布时间: 2011-08-18

InStrRev(s,"ttt")

作者: icansaymyabc   发布时间: 2011-08-18

引用楼主 xiaoyao961 的回复:
比方字符:
dim s as string
s="abc" & chr(0) & "ttt" & chr(0) & chr(0)
希望反过来查找T出现的位置
后面全是chr(0),出现次数不一定,,TTT也可能是别的字符。

也就是说想从后面查找字符,找到不同的字符出现时的位置。如果用一个字一个字的倒过来从后面向前检测肯定是可以,就是不知有什么办法更快。……


使用InstrRev函数

作者: worldy   发布时间: 2011-08-18

StrReverse函数  

描述

返回一个字符串,其中一个指定子字符串的字符顺序是反向的。

语法

StrReverse(string1)

参数string1是一个字符串,它的字符顺序要被反向。如果string1是一个长度为零的字符串(""),则返回一个长度为零的字符串。如果string1为Null,则产生一个错误。

作者: asftrhgjhkjlkttttttt   发布时间: 2011-08-18

StrReverse函数  

描述

返回一个字符串,其中一个指定子字符串的字符顺序是反向的。

语法

StrReverse(string1)

参数string1是一个字符串,它的字符顺序要被反向。如果string1是一个长度为零的字符串(""),则返回一个长度为零的字符串。如果string1为Null,则产生一个错误。

作者: asftrhgjhkjlkttttttt   发布时间: 2011-08-18

StrReverse函数  

描述

返回一个字符串,其中一个指定子字符串的字符顺序是反向的。

语法

StrReverse(string1)

参数string1是一个字符串,它的字符顺序要被反向。如果string1是一个长度为零的字符串(""),则返回一个长度为零的字符串。如果string1为Null,则产生一个错误。

作者: asftrhgjhkjlkttttttt   发布时间: 2011-08-18

InStrRev 函数 (Visual Basic) 
返回某一字符串从另一字符串的右侧开始算起第一次出现的位置。

 
Public Function InStrRev(
  ByVal StringCheck As String,
  ByVal StringMatch As String,
  Optional ByVal Start As Integer = -1,
  Optional ByVal Compare As CompareMethod = CompareMethod.Binary
) As Integer
 
示例:
Dim TestString As String = "the quick brown fox jumps over the lazy dog"
Dim TestNumber As Integer
' Returns 32.
TestNumber = InStrRev(TestString, "the")
' Returns 1.
TestNumber = InStrRev(TestString, "the", 16)

作者: photel123456   发布时间: 2011-08-18

引用楼主 xiaoyao961 的回复:
比方字符:
dim s as string
s="abc" & chr(0) & "ttt" & chr(0) & chr(0)
希望反过来查找T出现的位置
后面全是chr(0),出现次数不一定,,TTT也可能是别的字符。

也就是说想从后面查找字符,找到不同的字符出现时的位置。如果用一个字一个字的倒过来从后面向前检测肯定是可以,就是不知有什么办法更快。……


这个歧义很多,lz举例说明一下吧

作者: jhone99   发布时间: 2011-08-18

Len(s) - InStrRev(s, "t") + 1
*******************
是这个意思吗?

作者: jhone99   发布时间: 2011-08-18

Len(s) - InStrRev(s, "t") + 1
****************
这个意思?

作者: jhone99   发布时间: 2011-08-18

我晕 没看懂

作者: b2289   发布时间: 2011-08-18

这么说吧,假如一个火车很长,后面的车厢是白色的,我想从后面开始找,找到那个不是白色的车厢。具体什么色不知道的

作者: xiaoyao961   发布时间: 2011-08-18

引用 11 楼 xiaoyao961 的回复:

这么说吧,假如一个火车很长,后面的车厢是白色的,我想从后面开始找,找到那个不是白色的车厢。具体什么色不知道的
没有直接的函数,自己写个函数吧,方法也就是从字符串尾部循环一个个读取比较了。

作者: sysdzw   发布时间: 2011-08-18

引用 11 楼 xiaoyao961 的回复:

这么说吧,假如一个火车很长,后面的车厢是白色的,我想从后面开始找,找到那个不是白色的车厢。具体什么色不知道的
没有现成的函数,自己写个吧,方法也就是从字符串末尾开始读取一个个字符进行比较。

作者: sysdzw   发布时间: 2011-08-18

如果你能保证之前的字符串中夹杂的chr(0)不连续,也就是任何2个字符串之间至多有1个chr(0),你就可以用instr函数查找 chr(0)&chr(0)。否则的话只能从后开始逐字符比较。

作者: icansaymyabc   发布时间: 2011-08-18

热门下载

更多