vb 比较问题

来源:百度知道 编辑:UC知道 时间:2024/06/06 14:56:28
s="0489"'固定
k="687"'不固定
求z=?
从左向右统计k的3个字符,找到最后一次和0489重复的字符,然后z=在0489中刨去刚才重复的字符,没有重复的直接z=0489

s="0489"
k="867"‘从左向右最后一个重复的是8
z就应该为049 '在0489删除8

s="0489"
k="689"‘从左向右最后一个重复的是9
z就应该为048‘在0489删除9

s="0489"
k="980"‘从左向右最后一个重复的是0
z就应该为489‘ 在0489删除0

s="0489"
k="884"‘从左向右最后一个重复的是4
z就应该为089‘ 在0489删除4

s="0489"
k="287"‘从左向右最后一个重复的是8
z就应该为049‘ 在0489删除8

s="0489"
k="662"‘从左向右没有重复的
z就应该为0489‘ 直接等于0489
这个该怎么写
小李无刀老师,如果k=056,所出的数据就不对了

isdo = 0
z = ""
For i = Len(k) To 1 Step -1
For j = 1 To Len(s)
' MsgBox Mid(k, i, 1) & Mid(s, j, 1)
If Mid(k, i, 1) = Mid(s, j, 1) And isdo = 0 Then
isdo = 1
Else
tmp = tmp & Mid(s, j, 1)
End If
Next j
If isdo = 1 Then Exit For
Next i
If isdo = 0 Then
z = "0489"
Else
z = tmp
End If