我不理解下面任何一个的结果。我知道InStrRev给出了最后一个“匹配”的位置(从右到左),当我没有给出开始位置时,它可以理解结果。不管开始是从左开始还是从右开始,1或2应该给出非0的值。
Private Sub Form_Load()
Dim TestString As String
TestString = "ABCDEFGHCIJK"
msgbox = InStrRev(TestString, "C", 1) 'produces 0 if optional start parameter is 1 or 2
msgbox = InStrRev(TestString, "C", 3) 'produces 3 if start parameter is 3-8
msgbox = InStrRev(TestString, "C", 9) 'produces 9 if start parameter is 9-12
'13+ produces 0 as expected since its length of string is only 12
End Sub
关于函数的微软文档:access & visual studio。在visual studio页面上,我尝试了页面底部的示例,得到了相同的结果,所以我知道它是有效的。然而,我的大脑却没有得到。我也理解有&无起始位置的InStr函数
发布于 2013-04-11 05:27:58
天哪,我刚拿到了!我很糟糕,我有一种过度思考的倾向。下面是我所关注的问题&一些文档并没有明确说明:
的位置在字符串中的什么位置
如果没有HansUp,我不可能弄明白这件事。希望下面是另一种看待它的方式,以防其他人有同样的问题理解:
InStr(3, "ABCDEFGHIJKLMN", "E")
InStrRev("ABCDEFGHIJKLMN", "E", 3)
https://stackoverflow.com/questions/15928573
复制相似问题