VB.NET中 InStr(2,"abcabc","ab") 结果是4 请问查找的时候是从哪里开始找 这四次分别找到的字符是什么

如题所述

语句InStr(2,"abcabc","ab")的功能就是,从字符串"abcabc"左起第2个字符开始,查找字符串
"ab",如果找到就返回匹配的左起的字符位置。
现在从字符串"abcabc"左起第2个字符开始,查找字符串"ab",找到的是第4位与第5位构成的“ab”,所以返回的是4。
这里的4是指,匹配的字符串在原来字符串里左面数起的位置。
例如:
Instr(2,"中国江苏南京","江苏") 返回3
Instr(1,"中国江苏南京","江苏") 返回3
Instr(2,"中国江苏南京","南京") 返回5
Instr(1,"中国江苏南京","苏南") 返回4追问

我是想知道是怎么找的呢?
比如这个Instr(2,"中国江苏南京","江苏")
是按 国江 江苏 苏南 一次差一个字这样找
还是 国江 苏南 京中 一次差两个字这样找
类似的
我不清楚是按什么规则 一次找几个字

追答

当然是按照你说的第一种方式,一位一位移动着找的了!

追问

那为什么你说返回3呢? 不是在第二次就找到江苏了吗?

追答

返回的3不是指第几次找到,返回的3,表示要找的字符串,在原来字符串中左起第3个字符,是完全匹配的?
在字符串"中国江苏南京"里,从第3个字符开始,就是“江苏”?

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答