lon91ong 发表于 2011-1-1 21:31:43

[已解决]文件读取并分割存入数组的实现

本帖最后由 lon91ong 于 2011-1-4 16:50 编辑

文本文件的格式如下:
坐标x,坐标y,颜色,延时,优先级
23,35.5,0x385D97,500,3
430,300,0x567D63,2000,2
......
行数不固定
希望能一行一行的读取到一个二维数组中,按","(逗号)分割!
$ary=[坐标x,坐标y,颜色,延时,优先级]
$ary=
$ary=
......
要如何实现呢?
请大侠帮忙,多谢大侠了!

lon91ong 发表于 2011-1-1 22:08:43

更具体点就是
$ary=坐标x
$ary=坐标y
$ary=颜色
......
$ary=23
......

lon91ong 发表于 2011-1-2 00:11:08

数组一维不固定,也就是文本行数不确定
二维固定,5个元素

sxd 发表于 2011-1-2 00:45:49



#include <Array.au3>
#Include <File.au3>
Dim $aFile,$aAll,$p = 0
_FileReadToArray("1.txt",$aFile )

For $i = 1 To $aFile
        $p += 1
        $sLine = $aFile[$i]
        $aLine = StringSplit($sLine,",")
       
        ReDim $aAll[$p][$aLine+1]
        For $o = 1 To $aLine
                $aAll[$p-1][$o-1] = $aLine[$o]
        Next
Next
_ArrayDisplay($aAll)

lon91ong 发表于 2011-1-2 11:34:33

多谢大侠了,帮了我大忙了!多谢!

lon91ong 发表于 2011-1-2 11:58:55

刚刚使用了一下,代码功能满足我的需要了!
但是希望加入一点功能,就是文本的每行末尾用几个TAB(制表符)隔开了,用";"开头些了一段注释,希望读取数组时能忽略掉,这个功能该怎么写呢?294,243,0xFFD43F,500,3      ;伐木点请大侠支招!多谢了!

lon91ong 发表于 2011-1-2 19:35:17

忽略行尾注释的功能我自己实现了,就是先用";"分割了一次,而后把第一部分再用","再分一次

现在又有新问题了, 怎么能忽略空行呢?

sxd 发表于 2011-1-2 20:45:35

我肯定你继续自己思考就可以解决这个问题的 加油

lon91ong 发表于 2011-1-2 22:21:57

想到解决办法了,第一次用";"分割后,进行下一次分割前先判断一下数组长度就好了!{:face (125):}

只是个想法,是否有效还有待验证!

mfbsb 发表于 2011-1-24 13:45:42

是的,加油,加油

别情 发表于 2011-6-25 18:57:42

是的,加油,加油
页: [1]
查看完整版本: [已解决]文件读取并分割存入数组的实现