本帖最后由 apang 于 2013-3-4 11:17 编辑
- Set FSO = CreateObject("Scripting.FileSystemObject")
- Set File = FSO.OpenTextFile("a.txt")
- T = Time
- Do Until File.atEndOfStream
- Text = File.ReadLine
- If RegEx <> "" Then '排除空行
- A = Split(RegEx," ")
- m = UBound(A) 'm=列数
- ReDim PreServe B(m,n) '申明数组B
- For i = 0 to m :B(i,n) = A(i) :Next '数组B赋值
- n = n + 1 'n=行数
- End If
- Loop
-
- n = n - 1
- ReDim C(m,n) '申明数组C
- For i = 1 to m 'm=列数
- For j = 0 to n 'n=行数
- Num = 0
- For k = j - 1 to 0 step -1
- If B(i,j) = B(i,k) Then Exit For '相等则退出循环
- Num = Num + 1 '不相等则自加1
- Next
- C(i,j) = Num '数组C赋值
- Next
- Next
-
- For i = 0 to n '写入文件
- Str = ""
- For j = 1 to m :Str = Str & vbTab & C(j,i) :Next
- FSO.OpenTextFile("b.txt",8,true).WriteLine B(0,i) & Str
- Next
- MsgBox T & vbLf & Time
-
- Function RegEx()
- Set Re = New RegExp
- Re.Pattern = "\s+"
- Re.Global = True
- RegEx = Trim(Re.Replace(Text," "))
- End Function
复制代码 套用另外一个帖子的代码,思路一样,试一下看 |