重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
InStr([start,
创新互联公司是一家以网站建设、网页设计、品牌设计、软件运维、seo优化、小程序App开发等移动开发为一体互联网公司。已累计为雨棚定制等众行业中小客户提供优质的互联网建站和软件开发服务。
]string1,
string2[,
compare])
返回
Variant
(Long),指定一字符串在另一字符串中最先出现的位置。
本示例使用
InStr
函数来查找某字符串在另一个字符串中首次出现的位置。
Dim
SearchString,
SearchChar,
MyPos
SearchString
="XXpXXpXXPXXP"
'
被搜索的字符串。
SearchChar
=
"P"
'
要查找字符串
"P"。
'
从第四个字符开始,以文本比较的方式找起。返回值为
6(小写
p)。
'
小写
p
和大写
P
在文本比较下是一样的。
MyPos
=
Instr(4,
SearchString,
SearchChar,
1)
'
从第一个字符开使,以二进制比较的方式找起。返回值为
9(大写
P)。
'
小写
p
和大写
P
在二进制比较下是不一样的。
MyPos
=
Instr(1,
SearchString,
SearchChar,
0)
'
缺省的比对方式为二进制比较(最后一个参数可省略)。
MyPos
=
Instr(SearchString,
SearchChar)
'
返回
9。
MyPos
=
Instr(1,
SearchString,
"W")
'
返回
0。
判断一个字符串里面包含了某个字符,参照最后一个示例,如果返回值是0,说明没有包含
很简单,用字符串查找函数就可以实现了。
当在StrB查找到StrA字符串时,返回肯定是非0的数,值就是True,找不到为0或者-1,值就是Flase
比如:
Dim StrA As String = "Time is Limited"
Dim StrB As String = "Time"
Dim Stu As Boolean= InStr(StrA, StrB)
这运行段代码,Stu值就是True了。
我觉得这样最简单有效。
str = "hello,everybody. " 返回false,位置0。(不含汉字和汉语标点符号)
str = "hello,ererybody。 " 返回false,位置16。(最后一个句号是汉语标点符号)
先谢过大家了!
#是特殊字符,你可以用 “ if "1#仓库" like "1[#]仓库" then msgbox "True"”试试看。
若要与左方括号 ([)、问号 (?)、数字号 (#) 和星号 (*) 这些特殊字符匹配,必须用方括号将它们括起。右方括号 (]) 不能在组中用来与自身匹配,但它可用在组外作为单个字符。
可以将字符序列 [] 视为零长度字符串 ("");但不能将其作为括在括号中的字符列表的一部分。如果要检查 string 中的某个位置是包含一组字符还是不包含任何字符,可以使用两次 Like。有关示例,请参见如何:将字符串与模式相匹配。
有一个字符串函数:Instr(n,S1,S2)
该函数的功能:从字符串S1的左起第N位开始,向右逐位进行搜索匹配字符串S2,如果找到匹配,就返回一个整数指明匹配的位置,否则就返回0。如果缺省n,就是默认从字符串S1的左起第1位开始,进行搜索匹配字符串S2。
例如1:Instr(1,"abcde","a"),返回1
例如2:Instr(3,"abcde","a"),返回0
例如3:Instr(1,"abcde","c"),返回3
例如4:Instr(1,"abcde","cde"),返回3
例如5:Instr(4,"ab12cd12e12","12"),返回7,这里从字符串"ab12cd12e12"左起第4位开始向右搜索匹配字符串"12",找到的是中间一个“12”,这个“12”是位于字符串"ab12cd12e12"左起的第7个字符。
而:Instr(1,"ab12cd12e12","12"),返回3
Instr("ab12cd12e12","12"),返回3