1=100,3=200,10=300
1=300,3=500,5=200,10=200 经过相加和排序之后的记录是这样:
1=400,3=700,5=200,100=500 字段的左边数字列表是 1至99 .
记录会有N条的 相加出来的最后可能是
1=?,2=?,3=?,4=?,5=?,6=?,7=?,8=?,9=?,10=?,11=?,12=?,13=?,..............99=?.
1=300,3=500,5=200,10=200 经过相加和排序之后的记录是这样:
1=400,3=700,5=200,100=500 字段的左边数字列表是 1至99 .
记录会有N条的 相加出来的最后可能是
1=?,2=?,3=?,4=?,5=?,6=?,7=?,8=?,9=?,10=?,11=?,12=?,13=?,..............99=?.
'设定有一个文本文件, 1.Txt
'里面的内容格式是这样的: 一共二行.
'1=100,3=200,10=300
'1=300,3=500,5=200,10=200
Option ExplicitDim Data As String
Dim aData(1 To 99) As LongDim i As LongPrivate Sub Command1_Click()
Dim Arr1() As String
Dim Arr2() As String
Open "C:\1.txt" For Input As #1
While Not EOF(1)
Line Input #1, Data
Debug.Print Data
Arr1 = Split(Data, ",")
If UBound(Arr1) <> -1 Then
For i = 0 To UBound(Arr1)
Arr2 = Split(Arr1(i), "=")
aData(CLng(Arr2(0))) = aData(CLng(Arr2(0))) + CLng(Arr2(1))
Next
End If
Wend
Close #1
For i = 1 To 99
If aData(i) <> 0 Then
MsgBox i & "=" & aData(i)
End If
Next
End Sub
2、正则表达式,pattern:(\d*)=(\d*),?
3、对号入座相加。
4、输出结果.