dos123 发表于 2009-6-23 17:47:00

[已解决]象这种应该用何种方式读取保存到数组

本帖最后由 dos123 于 2011-5-19 23:10 编辑

Drive   No.   ActiveVolumeLabe      Total (Mb)   Free (Mb)
C:        1:1         A                              20489        3257   
D:        1:2                                      30725        3220   
E:        1:3                                      22065        10196
G:        2:1                移动硬盘              5004           2817   
J:        2:2                移动硬盘              471932         46813
用空格分割不行,有些项目本来就是没的。数据是文本文件格式。是dsptw.exe获取的硬盘参数软件做自动分区的时候用到的。

大绯狼 发表于 2009-6-23 18:13:07

这个应该是通过命令提示符窗口获得的吧
你捕获这个输出信息 然后用@TAB分隔字符串 就差不多了

lynfr8 发表于 2009-6-23 18:18:33

本帖最后由 lynfr8 于 2009-6-23 18:21 编辑

分两种情况吧
1.你上面的数据是源于GUi界面的
可以用_GUICtrlListView_GetItemTextArray
效果:

例子看帮助文件

2.数据已经保存为文档
那就先整理下数据
StringStripWS("未整理前数据", 7)就可以把前后空格删除和字符之间空格删除为一个

然后用StringSplit("上面整理过的数据"," ")用空格来分割字符保存为数组,ok了!

dos123 发表于 2009-6-23 20:31:40

不知道谁有一键分区的代码能共享下就好了 呵呵

dos123 发表于 2009-6-24 00:41:55

晕 刷分也不能这样刷啊。

minterz 发表于 2009-6-24 00:51:56

蜘蛛精灌水啦。。。。

即即 发表于 2009-6-24 09:35:55

本帖最后由 即即 于 2009-6-24 09:45 编辑

#include <Array.au3>
Local $s = 'C:      1:1         A                              20489          3257'   
Local $avArray = StringRegExp($s,"(:)\s+(\d:\d)\s+(A?)\s+(.*)\s+(\d+)\s+(\d+)", 1)
_ArrayDisplay($avArray, "$avArray数组值")

bbip 发表于 2009-6-24 10:03:21

还有刷楼的啊

即即 发表于 2009-6-24 19:17:24

终于有管理员把灌水帖删除了,支持管理员。
页: [1]
查看完整版本: [已解决]象这种应该用何种方式读取保存到数组