vb中怎么判断一个字符串中包含另一个字符串

比如1234 23 2345 a23a 都包含23
2024-12-01 10:14:12
推荐回答(4个)
回答1:

1、启动VB新建工程1,在form1的合适位置画出3个Label框、2个Text框以及1个Command按钮(可以预先对各控件的Caption等属性进行修改)。

2、双击“统计”(即Command1)按钮,在弹出的代码框中编写如下代码:

PrivateSubCommand1_Click()DimxAsStringa=Text1.Textb=Text2.Textn=0Fori=1ToLen(a)x=Mid(a,i,1)

 If x = b Then n = n + 1  Next i  Label3.Caption = "字符" & b & "在字符串”" & a & "“中" & vbCrLf & "共出现了" & n & "次。"End Sub

这样便达到了检索所有字符、统计某个字符出现次数的需求了。

3、同理,对text2进行设置,当光标停留在text2中,按下回车键时,光标将跳到Command上,方便操作:

PrivateSubtext2_keypress(keyasciiAsInteger)Ifkeyascii=13ThenCommand1.SetFocusEndSub

4、最后点击运行即可。

回答2:

InStr 函数
返回 Variant (Long),指定一字符串在另一字符串中最先出现的位置。
InStr([start, ]string1, string2[, compare])
InStr 函数的语法具有下面的参数:
start 可选参数。为数值表达式,设置每次搜索的起点。如果省略,将从第一个字符的位置开始。如果指定了 compare 参数,则一定要有 start 参数。
string1 必要参数。接受搜索的字符串表达式。
string2 必要参数。被搜索的字符串表达式。
Compare可选参数。指定字符串比较。如果省略 compare,Option Compare 的设置将决定比较的类型。


例如如下

Sub tttt()

a = "abvsdf"

b = "z"

c = InStr(a, b)

If c > 0 Then

MsgBox "a包含b"

Else

MsgBox "a不包含b"

End If

End Sub


测试结果

回答3:

dim a as string
dim b as string
dim i as integer
dim l as integer
a="1234 23 2345 a23a" '被搜索变量
b="23" '搜索参考变量
l=len(b) 'LEN()意思是取文字变量的长度
for i=1 to len(a)
if b=mid(a,i,l) then'MID(变量,起点位置,长度)意思是截取
print "found!"'找到
exit for
endif
next i
当然这个是基本,你可以通过数组循环找更多的。进行推广

回答4:

最佳答案用得着那么麻烦吗,你们都忘了InStr()函数了?
If Instr("1234","23") > 0 then Msgbox("包含")