找回密码
 加入
搜索
查看: 4295|回复: 4

[AU3基础] 已解决 固定文本文件的读取

[复制链接]
发表于 2014-10-6 22:04:50 | 显示全部楼层 |阅读模式
本帖最后由 续缘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文件)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2014-10-7 08:35:19 | 显示全部楼层
\1后面有个空格

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2014-10-7 08:44:58 | 显示全部楼层

已解决

本帖最后由 续缘8003 于 2014-10-7 08:57 编辑

谢谢楼上,正好是我所要的,
但是如何写代码的,不知您用什么程序实现的。
是正则表达式测试版吗


经过搜索已经实现,再次谢谢楼上
发表于 2014-10-7 08:58:06 | 显示全部楼层
#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[10][10]
For $i = 1 To $array[0]
        $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[0]
                $final_data[$i-1][$j-1] = $array_line[$j]
        Next
Next
_ArrayDisplay($final_data)
 楼主| 发表于 2014-10-7 09:01:16 | 显示全部楼层
本帖最后由 续缘8003 于 2014-10-7 09:03 编辑

谢谢楼上veket_linux提供完整的代码,我再仔细看看
论坛热心人多,论坛才会更兴旺
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-9-28 08:29 , Processed in 0.084660 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表