關於VB中對字符位置函數instrrev的問題
如:
instrrev( "123456 ", "2 ")得到的是2。為何不是5呢?那與instr就沒得什麼區別了.
是不是這個函數的問題?
thanks
[解决办法]
你可以比较一下
print instrrev( "1234526 ", "2 ")
print instr( "1234526 ", "2 ")
[解决办法]
可能是MSDN的中文翻译不清楚:
原MSDN解释:
InStrRev函数
描述
返回一个字符串在另一个字符串中出现的位置,从字符串的末尾算起。
我修改翻译如下:
InStrRev函数
描述
返回一个字符串在另一个字符串中最先出现的(字符串首数过来)位置,是从字符串的末尾搜索起。
MSDN解释InStr 函数:
InStr 函数
返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。
见以下代码运行结果:
Private Sub Command1_Click()
Text1 = InStrRev( "123426 ", "2 ") '结果为5
Text2 = InStr( "123426 ", "2 ") '结果为2
End Sub
[解决办法]
Debug.Print InStrRev( "12345 ", "2 ")
Debug.Print InStr( "12345 ", "2 ")
2 ‘InStrRev 从字符串的最后一个搜索起,但计算还是从第一个字符开始
2 ‘InStr 从第一个字符串搜索起,计算还是从第一个字符开始
[解决办法]
InStrRev 从字符串的最后一个搜索起,但计算还是从第一个字符开始
InStr 从第一个字符串搜索起,计算是从第一个字符开始
關於VB中對字符位置函數instrrev的問題,该如何处理
關於VB中對字符位置函數instrrev的問題如:instrrev( 123456 , 2 )得到的是2。為何不是5呢?那與instr就
