字符串1:如EFEEFE(两个一组,分三组,即EF EE FE),作为基础字符串,表示一图形;
另外,一些字符串如EEFEEF(EE FE EF),EEEFFE(EE EF FE)等字符串(这些字符串是三组字符串EF EE FE的排列组合)均表示同一图形;
用VB程序怎么判别这些字符串和基础字符串EFEEFE(EF EE FE)相似(即表示同一图形)?
另外,一些字符串如EEFEEF(EE FE EF),EEEFFE(EE EF FE)等字符串(这些字符串是三组字符串EF EE FE的排列组合)均表示同一图形;
用VB程序怎么判别这些字符串和基础字符串EFEEFE(EF EE FE)相似(即表示同一图形)?
像字符串1,EFEEFE(两个一组,分三组,即EF EE FE),表示一个图形;
字符串2,EFEEEF(EF EE EF)就和字符串1不同,它表示另一图形;
也就是说,其他字符串中的三小组字符串必须和字符串1中的三小组字符串相同,才表示同一图形。
'用记录集的sort方法排序,要引用“Microsoft AetiveX Date Objects 2.x Library”
Function StrSort(anyInput As Variant, Optional Sort As String = "ASC") As String Dim rs As New Recordset
Dim i As Long
With rs
.Fields.Append "FSort", adVarChar, 10
.Open
For i = LBound(anyInput) To UBound(anyInput)
.AddNew
!FSort = anyInput(i)
.Update
Next
.Sort = "FSort " & Sort
For i = LBound(anyInput) To UBound(anyInput)
anyInput(i) = !FSort
.MoveNext
Next
StrSort = Join(anyInput)
End With
Set rs = Nothing
End Function'测试
Private Sub Command1_Click()
Dim s1, s2, s3
s1 = Split("EF,EE,FE", ",") '比如这个是基准
s2 = Split("EF,EE,FE", ",")
s3 = Split("FE,EE,FE", ",")
Debug.Print StrSort(s1) = StrSort(s2)
Debug.Print StrSort(s1) = StrSort(s3)
End Sub当然你也可以用排列组合来做,方法多样的