已解决 固定文本文件的读取
本帖最后由 续缘8003 于 2014-10-7 09:05 编辑学习中遇到如下问题,文本文件格式如下:(固定格式)
123.45456.23567.32
456.34789.32778.25
778.23789.12778.25
现在问题是需要分割成如下格式,然后再读取其中的数据
123.45 456.23 567.32
456.34 789.32 778.25
778.23 789.12 778.25
请大仙帮忙,已搜索过有关内容,但没搞明白(附件为txt文件)
\1后面有个空格
已解决
本帖最后由 续缘8003 于 2014-10-7 08:57 编辑谢谢楼上,正好是我所要的,
但是如何写代码的,不知您用什么程序实现的。
是正则表达式测试版吗
经过搜索已经实现,再次谢谢楼上 #include <Array.au3>
$fhandle = FileOpen(@ScriptDir & "\test.txt")
$buf = FileRead($fhandle)
FileClose($fhandle)
;MsgBox(0, "buf read from file", $buf)
$buf = StringReplace($buf, @CRLF, "|")
;MsgBox(0, "buf replace crlf to |", $buf)
$array = StringSplit($buf, "|")
;_ArrayDisplay($array)
Local $final_data
For $i = 1 To $array
$len = StringLen($array[$i])
$j = 1
While $j < $len
If "." = StringMid($array[$i], $j, 1) Then
$j += 3
$len = StringLen($array[$i])
If $j > $len Then ExitLoop
$tmp1 = StringLeft($array[$i], $j-1)
$tmp2 = StringMid($array[$i], $j)
$array[$i] = $tmp1 & "#" & $tmp2
Else
$j += 1
EndIf
WEnd
$array_line = StringSplit($array[$i], "#")
For $j = 1 To $array_line
$final_data[$i-1][$j-1] = $array_line[$j]
Next
Next
_ArrayDisplay($final_data) 本帖最后由 续缘8003 于 2014-10-7 09:03 编辑
谢谢楼上veket_linux提供完整的代码,我再仔细看看
论坛热心人多,论坛才会更兴旺
页:
[1]