Vb.net 查找字符串VB的子字符串

Vb.net 查找字符串VB的子字符串,vb.net,Vb.net,1.以下程序将从用户处获得两个输入,即A和B 2.然后从B中查找子字符串。 3.最后打印结果 而我的代码是 Dim作为字符串 将b变暗为字符串 a=输入框(“输入第一个字符串”,a) b=输入框(“输入第二个字符串”,b) 作为整数的Dim i 尺寸j为整数=0 将k调整为整数=0 作为整数的Dim substr=0 对于i=0到a,长度为-1 如果a(i)=b(j),那么 j+=1 如果b(j)=0,则 MsgBox(“第二个字符串是第一个字符串的子字符串”) substr=1 退出 如果结束

1.以下程序将从用户处获得两个输入,即A和B
2.然后从B中查找子字符串。
3.最后打印结果

而我的代码是

Dim作为字符串
将b变暗为字符串
a=输入框(“输入第一个字符串”,a)
b=输入框(“输入第二个字符串”,b)
作为整数的Dim i
尺寸j为整数=0
将k调整为整数=0
作为整数的Dim substr=0
对于i=0到a,长度为-1
如果a(i)=b(j),那么
j+=1
如果b(j)=0,则
MsgBox(“第二个字符串是第一个字符串的子字符串”)
substr=1
退出
如果结束
如果结束
接下来我
对于i=0到b,长度为-1
如果b(i)=a(k),那么
k+=1
如果a(k)=0,则
MsgBox(“第一个字符串是第二个字符串的子字符串”)
substr=1
退出
如果结束
如果结束
接下来我
如果substr=0,则
MsgBox(“不存在子字符串”)
如果结束
端接头
编译时会出现以下调试错误

                                           Line Col
Error 1 Operator '=' is not defined for types 'Char' and 'Integer'. 17  24  
Error 2 Operator '=' is not defined for types 'Char' and 'Integer'. 27  24  

这是因为以下几行:

If b(j) = 0 Then

If a(k) = 0 Then
As
a(k)
b(j)
都是Char数据类型(将字符串视为字符数组),但您试图将它们与int(0)进行比较

如果您正在寻找一个子字符串,并且正在使用VB.NET,您可以尝试使用该方法,举一个非常简单的例子:

If a.IndexOf(b) > -1 Then
    MsgBox("b is a substring of a")
ElseIf b.IndexOf(a) > -1 Then
    MsgBox("a is a substring of b")     
Else
    MsgBox("No substring found")
End
如果您使用的是VBA,您也可以使用,但我认为使用这个字符串时,字符串是1索引的,而不是0索引的(就像在VB.NET中一样),因此您的检查可能类似于:

If InStr(a,b) > 0 Then
    MsgBox("b is a substring of a")
ElseIf InStr(b,a) > 0 Then
    MsgBox("a is a substring of b")     
Else
    MsgBox("No substring found")
End

可能重复的请不要用VBA标记vb.net问题-它们根本不是一回事。谢谢兄弟。这对我帮助很大