[已解决]象这种应该用何种方式读取保存到数组
本帖最后由 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获取的硬盘参数软件做自动分区的时候用到的。 这个应该是通过命令提示符窗口获得的吧
你捕获这个输出信息 然后用@TAB分隔字符串 就差不多了 本帖最后由 lynfr8 于 2009-6-23 18:21 编辑
分两种情况吧
1.你上面的数据是源于GUi界面的
可以用_GUICtrlListView_GetItemTextArray
效果:
例子看帮助文件
2.数据已经保存为文档
那就先整理下数据
StringStripWS("未整理前数据", 7)就可以把前后空格删除和字符之间空格删除为一个
然后用StringSplit("上面整理过的数据"," ")用空格来分割字符保存为数组,ok了! 不知道谁有一键分区的代码能共享下就好了 呵呵 晕 刷分也不能这样刷啊。 蜘蛛精灌水啦。。。。 本帖最后由 即即 于 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数组值") 还有刷楼的啊 终于有管理员把灌水帖删除了,支持管理员。
页:
[1]