有这么一个字符串:str="a b   c    d  e"
其中每个字符之间的空格数目是未知的,我想用split()把这个字符串里的字母都分离出来,用data()接收 : data=split(str)
即data(0)="a" data(1)="b" data(2)="c" data(3)="d" data(4)="e",不能接收字符串里的空格。 请问怎样实现? 谢谢回复!

解决方案 »

  1.   

    Dim data() As String
        Dim str As String
        Dim i As Integer
        Dim tempstr As String
        str = "a b   c    d  e"
        Dim falg As Boolean
        For i = 1 To Len(str)
            If Mid(str, i, 1) = " " Then
                If Not falg Then
                   tempstr = tempstr & Mid(str, i, 1)
                   falg = True
                End If
            Else
                tempstr = tempstr & Mid(str, i, 1)
                falg = False
            End If
        Next i
        data = Split(tempstr, " ")
        For i = 0 To UBound(data)
            MsgBox data(i)
        Next i
      

  2.   

    先分割,再用trim去掉空格就可以了
      

  3.   

    Private Sub Command1_Click()
        Dim Str As String, Data() As String
        Dim i As Long
        
        i = 1
        Str = "a b   c    d  e"
        While Len(Str) <> 1
            ReDim Preserve Data(i)
            Data(i) = Trim(Left(Str, InStr(Str, " ")))
            Str = Trim(Mid(Str, InStr(Str, " ") + 1))
            i = i + 1
        Wend
        ReDim Preserve Data(i)
        Data(i) = Str
        
        For i = 1 To UBound(Data)
            MsgBox Data(i)
        Next
    End Sub
      

  4.   

    dim aa() as string
         aa=split(str,"")
    ""中填空格的字符,像回车是chr(13)
      

  5.   

    下面的效率低了点,如果字符串短的话可以用一下
    Private Sub Command1_Click()
     Dim str1 As String
     Dim data() As String
      Str2 = "a b   c    d  e"
      str1 = Replace(Str2, " ", "")
      ReDim data(Len(str1))
      For i = 1 To Len(str1)
        data(i - 1) = Mid(str1, i, 1)
      Next i
    End Sub