vb 关于字符比较

来源:百度知道 编辑:UC知道 时间:2024/05/31 15:28:59
Private Sub Command1_Click()
Sl = "575"
Dl = "057"
temp = f
For x = 1 To Len(Sl)
For y = 1 To Len(Dl)
If Mid(Sl, x, 1) = Mid(Dl, y, 1) Then f = f + 1
Next
Next
MsgBox f
End Sub
用057,比较575,看057当中有几个和575重复的个数,实际上应该是2,怎么会得3呢,该怎么改
首先让Sl变成重复的保留一个可以了,然后用下面代码就行
如575变成57,或001变成01,这样就可以了,不过重复的保留一个该怎么写

murderor的答案不行,把字符串改成sl = "57577",dl = "057777"就不对了

Private Sub Command1_Click()
sl = "57577"
dl = "057777"
str1 = Left(sl, 1)
For x = 2 To Len(sl)
str2 = Mid(sl, x, 1)
If InStr(1, str1, str2) <= 0 Then str1 = str1 & str2
Next x
sl = str1
For x = 1 To Len(sl)
str1 = Mid(sl, x, 1)
If InStr(1, dl, str1) > 0 Then f = f + 1
Next x

MsgBox f
End Sub

Private Sub Command1_Click()
sl = "575"
dl = "057"
For i = 0 To 9
If InStr(sl, CStr(i)) <> 0 And InStr(dl, CStr(i)) <> 0 Then
n = n + 1
End If
Next
Print n
End Sub

SI里有两个5,与DI里的一个5比较就是2了,还有个7,不是3了吗

你的比较有什么用处吗?这样好像是不正确的
比如
Sl = "575"
Dl = "05755"
就是7了

不需要让Sl变成重复的保留一个
另外比较多时候换一下位置

Private Sub Command1_Click()
sl =