比如,在TEXT1.text中有以下内容
------------------
000a-ebfb-f611
0014-851d-5064
00e0-fc5c-c973
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4c11-1171
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
0014-851d-5064
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
00e0-4d00-b055
-----------------------
我想查找出现最多的一个,并且出现次数要大于10,
大家有没有好的算法?说来听听,谢谢

解决方案 »

  1.   

    Function GetString(str As String) As String    Dim arr() As String
        Dim i As Integer, n As Integer
        Dim mInt As Integer, tmp As Integer
        
        arr = Split(str, vbCrLf)
        n = UBound(arr)
        For i = 0 To n
            If Trim(arr(i)) <> vbNullString Then
                tmp = UBound(Split(str, arr(i)))
                If tmp > mInt Then
                    mInt = tmp
                    GetString = arr(i)
                End If
            End If
        Next
        If mInt <= 10 Then GetString = "没有超过10次的字串"
        
    End FunctionPrivate Sub Command1_Click()
        Debug.Print GetString(Trim(Text1))
    End Sub