十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
有一个字符串函数: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
特殊字符指的是什么?是汉字还是不可见字符还是不常用字符,比如通常使用字符ascii值32–126 是键盘上找到的字符。
比如将字符串用Split替换掉常用的字符,如果剩下的字符串长度不为0就含有其他字符,判断a-zA-Z0-9也是用这个办法,实际上用正则表达式也很简单,用For的循环判断每个字符值也可以
用 Like
% = 任意数量的字符
?= 单个字符
类似简易的正规则比对。
具体可参照MSDN
例:(以下代码可以直接放到程序里执行)
dim str as string
str = "abc123"
if str like "a%" then msgbox "yes"
if str like "%a%2%" then msgbox "yes"
if str like "%3" then msgbox "yes"
if str like "%3?" = false then msgbox "no"
如果是要判断引用类型可以用TypeOf来判断
Dim s = "666"
If TypeOf (s) Is String Then
Debug.Print("string")
Else
Debug.Print("not string")
End If
如果不知道是否是引用类型,可以这样判断:
Dim s = 666
If VarType(s) = VariantType.String Then
Debug.Print("string")
Else
Debug.Print("not string")
End If
或者:
Dim s = 666
If s.GetType = "".GetType Then
Debug.Print("string")
Else
Debug.Print("not string")
End If
很简单,用字符串查找函数就可以实现了。
当在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了。
我觉得这样最简单有效。