[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 caspar 于 2012-12-2 15:10 编辑
  1. Set objDicStr = CreateObject("Scripting.Dictionary")
  2. Set objDicSum = CreateObject("Scripting.Dictionary")
  3. Set oFSO = CreateObject("Scripting.FileSystemObject")
  4. str = oFSO.OpenTextFile("Sample.txt").ReadAll
  5. Set FS = oFSO.CreateTextFile("Result.txt",True)
  6. str = replace(str,vbCrlf," ")
  7. arrStr= split(str," ")
  8. For t=0 to Ubound(arrStr)
  9.   IF arrStr(t)<>"" Then
  10.      strCheck = mid(arrStr(t),1,1)
  11.      IF ASCW(strCheck) > 122 Then
  12.         IF Not objDicSum.Exists(arrStr(t)) Then
  13.            objDicSum.add arrStr(t), CInt(arrStr(t+4))
  14.            objDicStr.add arrStr(t), arrStr(t+4)
  15.         ELSE
  16.            objDicSum.Item(arrStr(t)) = objDicSum.Item(arrStr(t)) + CInt(arrStr(t+4))
  17.            objDicStr.Item(arrStr(t)) = objDicStr.Item(arrStr(t)) & "+" & arrStr(t+4)
  18.         End IF
  19.         t=t+4
  20.      End IF
  21.    End IF
  22. Next
  23. Names = objDicSum.keys
  24. For t=0 to Ubound(Names)
  25.     objDicStr.Item(Names(t)) = reOrder(objDicStr.Item(Names(t)))
  26.     FS.WriteLine Names(t) & " " & objDicSum.Item(Names(t)) & " " & objDicStr.Item(Names(t))
  27. Next
  28. Set FS = Nothing
  29. Set oFSO = Nothing
  30. Set objDicSum = Nothing
  31. Set objDicStr = Nothing
  32. Function reOrder(ByVal str)
  33.   Dim Nums() : Redim Nums(Len(str))
  34.   arrTemp = split(str,"+")
  35.   For i=0 to Ubound(arrTemp)
  36.       IF arrTemp(i) <> "" Then
  37.          n = n + 1
  38.          Nums(n) = cint(arrTemp(i))
  39.       End IF
  40.   Next
  41.   For i=1 to n-1
  42.     For j=i+1 to n
  43.       IF Nums(i)>Nums(j) Then
  44.          Temp=Nums(i)
  45.          Nums(i)=Nums(j)
  46.          Nums(j)=Temp
  47.       End IF
  48.     Next
  49.   Next
  50.   
  51.   outStr = "( "
  52.   For i=1 to n-1
  53.     outStr = outStr & Nums(i) & " + "
  54.   Next
  55.   outStr = outStr & Nums(n) & " )"
  56.   reOrder = outStr
  57. End Function
复制代码

TOP

返回列表