如果有两个字符串
STR1 = '4567EEEEE'
STR2 = '1478EEEEE789625AAADDET'
求出STR1和STR2共有字符串EEEEE
有没有这样的函数STR1和STR2是不规则的字符串
STR1 = '4567EEEEE'
STR2 = '1478EEEEE789625AAADDET'
求出STR1和STR2共有字符串EEEEE
有没有这样的函数STR1和STR2是不规则的字符串
调试欢乐多
很难办啊!感觉比模式匹配还要麻烦,关注ing
从第一个字符开始匹配str2,如果成功,则将第12个字符合并,继续查找
循环至末尾
Private Sub Command1_Click()
Dim Str1, Str2, Str_ts, FStr As String
Dim i1, i2, SLen, R As Integer
Dim StrLen As IntegerSLen = 2
Str1 = "4567EEEEE"
Str2 = "1478EEEEE789625AAADDET"If Len(Str1) > Len(Str2) Then
Str_ts = Str1
Str1 = Str2
Str2 = Str_ts
End IfStrLen = Len(Str1)For i1 = 1 To StrLen - 1
R = 1
For i2 = 2 To StrLen - i1 + 1
Str_ts = Mid(Str1, i1, i2)
R = InStr(R, Str2, Str_ts)
If R > 0 Then
If Len(FStr) < i2 Then FStr = Str_ts
Else
Exit For
End If
Next
Next
Label1.Caption = FStr
End Sub
4
5
6
7
EEEEE 呢?
Dim bstr2 As StringPrivate Sub Command1_Click()
cString bstr1, bstr2
End SubPrivate Sub Form_Load()
bstr1 = "4567EEEEEeee"
bstr2 = "1478EEEEE789625AAADDET"
End Sub
Public Function cString(str1 As String, str2 As String)
For i = 1 To Len(str1)
For j = 1 To Len(str1)
If InStr(str2, Mid(str1, i, j)) = 0 Then Exit For
a = 1
Next j
If a = 1 Then
If Mid(str1, i, j - 1) <> Mid(s, 1, Len(Mid(str1, i, j - 1))) Then List1.AddItem Mid(str1, i, j - 1)
s = Mid(str1, i, j - 1)
a = 0
End If
Next i
End Function不知道这样算不算 嘿嘿
For i = 1 To Len(str1)
For j = 1 To Len(str1)
If InStr(str2, Mid(str1, i, j)) = 0 Then Exit For
a = 1
Next j
If a = 1 Then
If Mid(str1, i, j - 1) <> Mid(s, 1, Len(Mid(str1, i, j - 1))) Then List1.AddItem Mid(str1, i, j - 1)
s = Mid(str1, i, j - 1)
a = 0
End If
Next i
End Function
就是两个字符串相同的部分