首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在提供起始位置时,InStrRev的行为不稳定

在提供起始位置时,InStrRev的行为不稳定
EN

Stack Overflow用户
提问于 2013-04-10 22:23:31
回答 1查看 2.4K关注 0票数 2

我不理解下面任何一个的结果。我知道InStrRev给出了最后一个“匹配”的位置(从右到左),当我没有给出开始位置时,它可以理解结果。不管开始是从左开始还是从右开始,1或2应该给出非0的值。

代码语言:javascript
运行
复制
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函数

EN

回答 1

Stack Overflow用户

发布于 2013-04-11 05:27:58

天哪,我刚拿到了!我很糟糕,我有一种过度思考的倾向。下面是我所关注的问题&一些文档并没有明确说明:

  • Both函数的开始位置left
  • The返回值是原始字符串中的字符位置(如果找到),而不管请求函数开始search

的位置在字符串中的什么位置

如果没有HansUp,我不可能弄明白这件事。希望下面是另一种看待它的方式,以防其他人有同样的问题理解:

  • 下面返回5。在A之前,位置是1,在B之前是2,依此类推。我们告诉它从C之前开始,搜索字符串的剩余部分(CDEFGHIJKLMN),它仍然包含E

InStr(3, "ABCDEFGHIJKLMN", "E")

  • 下面返回0。我们告诉它从C之前开始,搜索字符串(AB)中没有E的剩余部分。字符串的其余部分在AB上的原因是它从右到左进行搜索

InStrRev("ABCDEFGHIJKLMN", "E", 3)

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15928573

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档