有5个数字的字符串"9 10 13 4 10" 
要去掉里面相同的一个 可能有2个 
如果有1个相同的话那么最后就有一个空格"9 10 13 4 " 
如果有2个相同的话那么最后要有2个空格"9 10 13  " 

解决方案 »

  1.   

    Private StrNum As String
    Private Type TyStrNum
        ArryNum(1 To 5) As String
        Flag(1 To 5) As Boolean
    End TypePrivate Sub CopeWith()
        StrNum = "12 5 14 5 456"
        Dim I As Integer
        Dim J As Integer
        Dim TyStrNum1 As TyStrNum
        
        TyStrNum1.ArryNum = Split(StrNum, " ")
        
        For I = 1 To 5
            TyStrNum1.Flag(I) = False '初始化  暂定所有的元素都不重复
        Next
        For I = 1 To 4      '标出所有重复的数据
            If TyStrNum1.Flag(I) = False Then
                For J = I + 1 To 5
                   If CLng(TyStrNum1.ArryNum(I)) = CLng(TyStrNum1.ArryNum(J)) Then
                       TyStrNum1.Flag(J) = True
                   End If
                Next
            End If
        Next
        
    '    StrNum = Join(TyStrNum1.ArryNum, " ")
        StrNum = TyStrNum1.ArryNum(1)
        J = 1
        For I = 2 To 5
            If TyStrNum1.Flag(I) = False Then
                StrNum = StrNum & " " & TyStrNum1.ArryNum(I) '重新连接成字符串
                J = J + 1
            End If
        Next
        StrNum = StrNum & Space(5 - J) '补 空格
        
    End Sub