找回密码
 加入
搜索
查看: 2098|回复: 5

[AU3基础] 【已解决】求助 文档读取写入

  [复制链接]
发表于 2010-10-29 11:43:34 | 显示全部楼层 |阅读模式
本帖最后由 kkkpep 于 2010-10-30 08:15 编辑

有两个文本文件1.txt 和2.txt分别为:
1.txt:
abc 123 swd
bcd 231 rre
der 323 ood
等等未知行
2.txt:
rbc 123 swd
bdd 231 rre
der 323 ood
等等未知行(和1.txt行数相同)
我想把
1.txt的第一行和2.txt的第一行中间加一个—连起来 即:abc 123 swd—rbc 123 swd
以此类推
1.txt的第N行和2.txt的第N行连起来
完成之后写入3.txt
本人菜鸟研究了一下FileWriteLine未果,请各位帮帮忙。

评分

参与人数 1金钱 +10 收起 理由
afan + 10 感谢主动将修改帖子分类为[已解决],请继续 ...

查看全部评分

发表于 2010-10-29 13:07:50 | 显示全部楼层
;Local $str1 = FileRead('1.txt') ;或以下字符串测试
Local $Str1 = _
                'abc 123 swd' & @CRLF & _
                'bcd 231 rre' & @CRLF & _
                @CRLF & _
                @CRLF & _
                'der 323 ood' & @CRLF
;Local $str2 = FileRead('2.txt') ;或以下字符串测试
Local $Str2 = _
                'rbc 123 swd' & @CRLF & _
                'bdd 231 rre' & @CRLF & _
                'der 323 ood'

Local $sR1 = StringRegExp($Str1, '[^\r\n]+', 3)
If @error Then Exit
Local $sR2 = StringRegExp($Str2, '[^\r\n]+', 3)
If @error Then Exit
If UBound($sR2) < UBound($sR1) Then Exit
Local $out, $File = '3.txt'
For $i = 0 To UBound($sR1) - 1
        $out &= $sR1[$i] & '—' & $sR2[$i] & @CRLF
Next
FileDelete($File)
If FileWrite($File, $out) Then ShellExecute($File)

评分

参与人数 1金钱 +18 收起 理由
kkkpep + 18 谢谢斑竹

查看全部评分

 楼主| 发表于 2010-10-29 13:42:42 | 显示全部楼层
afan 发表于 2010-10-29 13:07


目的是能达到,只可惜本人水平太低,不知道有没有可以使新手更易理解的办法
发表于 2010-10-29 14:32:17 | 显示全部楼层
回复 3# kkkpep


    如果不太理解的地方是正则部分,那可以使用 _FileReadToArray() 来完成读取行到数组的部分,不过,需要加个空行的判断。而上面的正则则无需判断,因为匹配时就排除了空行。
 楼主| 发表于 2010-10-30 08:14:26 | 显示全部楼层
回复 4# afan
谢谢斑竹 还得加强学习啊
发表于 2010-11-21 11:08:05 | 显示全部楼层
学习了,多谢!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-10-3 00:27 , Processed in 0.109766 second(s), 29 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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