使用VB如何把文本文件(数字和字母相间排列)分别读到两个数组(数字和字母)

来源:百度知道 编辑:UC知道 时间:2024/06/15 17:14:05
比如文本文件如下:
3e5f6ad67es
读入到两个数组
一个是3,5,6,67
另外一个是e,f,ad,es
谢谢两位高人,看来得给你们两个都加分。我自己也写了一个,输出字母的,改掉/d为/D就是输出数字的。
Dim myReg
stringt = TextBox1.Text
Set myReg = CreateObject("vbscript.Regexp")
myReg.Global = True
myReg.Pattern = "[^\d]"
numbert = myReg.Replace(stringt, " ")
MsgBox numbert
Set myReg = Nothing
Dim TestArray() As String
TestArray = Split(numbert, " ", -1, 1)
Dim LastNonEmpty As Integer
LastNonEmpty = -1
For i = 0 To UBound(TestArray)
If TestArray(i) <> "" Then
LastNonEmpty = LastNonEmpty + 1
TestArray(LastNonEmpty) = TestArray(i)
End If
Next
ReDim Preserve TestArray(LastNonEmpty)

Private Sub Command1_Click()
'小破程序累死我了
Dim a(10) As String
Dim b(10) As String
Dim m1 As String
Dim m2 As String
str1 = "3e5f6ad67es"
a1 = 0
b1 = -1
a(a1) = Mid(str1, 1, 1)
For i = 1 To 10
m1 = Mid(str1, i, 1)
m2 = Mid(str1, i + 1, 1)
s1 = isstr(m1)
s2 = isstr(m2)
If s1 = s2 And s1 = "1" Then
a(a1) = a(a1) + m2
ElseIf s1 = s2 And s1 = "2" Then
b(b1) = b(b1) + m2
ElseIf s1 <> s2 And s2 = "1" Then
a1 = a1 + 1
a(a1) = m2
ElseIf s1 <> s2 And s2 = "2" Then
b1 = b1 + 1
b(b1) = m2
End If
Next
For i = 0 To 3
Print "a(" & i & ")=" & a(i) & ",b(" & i; ")=" & b(i)
Next
End Sub
Function isstr(aaa As String) As String
If "a" <= LCase(aaa) And "z" >= LCase(aaa) Then
isstr