例如
文本框内容
01,05 电风扇#@ 06,05{六四五09
改为
01,05,06,05,09,并且统计数量
6个

解决方案 »

  1.   

    Private Sub Command1_Click()
        Dim s As String, t As String
        Dim ch As String
        Dim i As Long, j As Long
        s = "01,05 电风扇#@ 06,05{六四五09"
        
        For i = 1 To Len(s)
            ch = Mid(s, i, 1)
            If ch >= "0" And ch <= "9" Then
                t = t & ch
            Else
                t = t & ","
            End If
        Next
        
        t = t & ","
        
        Do While (InStr(t, ",,") > 0)
            t = Replace(t, ",,", ",")
        Loop
            
        For i = 1 To Len(t)
            If Mid(t, i, 1) = "," Then
                j = j + 1
            End If
        Next
        Print "处理结果:"; t
        Print "数目:"; j
    End Sub
      

  2.   

    也可以这样
    Private Sub Command1_Click()
        Dim s As String, t As String
        Dim ch As String
        Dim i As Long
        Dim cc() As String
        s = "01,05 电风扇#@ 06,05{六四五09"
        
        For i = 1 To Len(s)
            ch = Mid(s, i, 1)
            If IsNumeric(ch) Then
                t = t & ch
            Else
                t = t & ","
            End If    Next
        
        Do While (InStr(t, ",,") > 0)
            t = Replace(t, ",,", ",")
        Loop
        
        cc = Split(t, ",")
        
        Print "处理结果:"; t
        Print "数目:"; UBound(cc) + 1
    End Sub