在vb程序设计中,如何在一个给定的字符串中查找某个字符第一次出现的位置?

如题所述

InStr 函数 返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。语法 InStr([start, ]string1, string2[, compare])InStr 函数的语法具有下面的参数:部分说明start可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果 start 包含 Null,将发生错误。如果指定了 compare 参数,则一定要有 start 参数。string1必要参数。接受搜索的字符串表达式。string2必要参数。被搜索的字符串表达式。Compare可选参数。指定字符串比较。如果 compare 是 Null,将发生错误。如果省略 compare,Option Compare 的设置将决定比较的类型。
设置 compare 参数设置为:常数值描述vbUseCompareOption-1使用Option Compare 语句设置执行一个比较。vbBinaryCompare0执行一个二进制比较。vbTextCompare1执行一个按照原文的比较。vbDatabaseCompare2仅适用于Microsoft Access,执行一个基于数据库中信息的比较。
返回值如果InStr返回string1 为零长度0string1 为 NullNullstring2 为零长度Startstring2 为 NullNullstring2 找不到0在 string1 中找到string2 找到的位置start > string20
说明InStrB 函数作用于包含在字符串中的字节数据。所以 InStrB 返回的是字节位置,而不是字符位置。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2018-02-28
InStr函数:寻找字符串  [格式]:  P=InStr(X,Y)  从X第一个字符起找出Y出现的位置  P=InStr(n,X,Y)  从X第n个字符起找出Y出现的位置  [说明]:  (1) 若在X中找到Y,则返回值是Y第一个字符出现在X中的位置。  (2) InStr(X,Y)相当于InStr(1,X,Y)。  (3) 若字符串长度,或X为空字符串,或在X中找不到Y,则都返回0。  (4) 若Y为空字符串,则返回0。本回答被网友采纳
第2个回答  2013-03-28
Dim aa As String
aa = "123456789"
MsgBox InStr(1, aa, "3", vbTextCompare)
'从aa的第一位开始查找3出现的位置本回答被网友采纳
第3个回答  2013-03-29
用函数:InStr([start, ]string1, string2[, compare]) 例:查找“ABCDEFG”中E的位置INSTR("ABCEFG","E")
第4个回答  2013-03-29
InStr从一个较大字符串chs中查找另一个字符ch1iStart = InStr(ch1, chs) ' iStart变量返回值
相似回答