vb查找字符串,怎么查找某几个字符是否存在?

例如,字符串有可能是“5+6”、“5-6”、“5*6”、“5/6”。我想判断,如果存在“+”或“-”或“*”或“/”,那么就进行运算。我现在只能这样:IfInStr(1,... 例如,字符串有可能是“5+6”、“5-6”、“5*6”、“5/6”。

我想判断,如果存在“+”或“-”或“*”或“/”,那么就进行运算。
我现在只能这样:
If InStr(1, str, "+") > 0 or InStr(1, str, "-") > 0 or InStr(1, str, "*") > 0 or InStr(1, str, "/") > 0 Then call 运算

感觉这样好像很累赘,有没有更好的方法,去判断字符串里有没有“+”或“-”或“*”或“/”
展开
 我来答
百度网友cc16d5c
2014-08-14 · TA获得超过731个赞
知道小有建树答主
回答量:647
采纳率:50%
帮助的人:538万
展开全部

if str like "*[+/\*-]*" then call 运算

追问
你好,like正是我想要的,但是很奇怪,我知道正则式中匹配特殊符号是用“\” , 而在vb的msdn中是这样说的:
特殊字符
若要与左方括号 ([)、问号 (?)、数字号 (#) 和星号 (*) 这些特殊字符匹配,必须用方括号将它们括起。 右方括号 (]) 不能在组中用来与自身匹配,但它可用在组外作为单个字符。
说要用中括号括起来,那明显不对呀
追答

呵呵,能用就行,刚刚试了下,不用”\"也行

piestkj
2014-08-14 · TA获得超过928个赞
知道小有建树答主
回答量:820
采纳率:0%
帮助的人:615万
展开全部
Private Function StrChr(ByVal Str As String, ByVal Chr As String)As Boolean 
    '借用了C语言的名字,但功能有所不同
    Dim i As Long
    StrChr = False
    For i = 1 to Len(Str)
        If InStr(1, Chr, Mid(Str, i, 1)) Then
            StrChr = True
            Exit For


        End If
    Next i
End Function

调用的时候:

If StrChr(str, "+-*/") Then Call 运算
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式