找回密码
 加入
搜索
楼主: dtooboss

[AU3基础] 求教大文本文件字符串的查找替换效率问题【已解决】

 火.. [复制链接]
发表于 2013-9-27 10:04:14 | 显示全部楼层
楼主研究透了请贴一个au3的源码再结贴啊。
谢谢了!

评分

参与人数 1金钱 +10 收起 理由
annybaby + 10 有道理....

查看全部评分

发表于 2013-9-27 19:36:53 | 显示全部楼层
Dim $splitstr="@@@@"
$dic=ObjCreate("scripting.dictionary")
$dic.comparemode=1
$str=FileRead("z:\a.txt")
$arr=StringSplit($str,@crlf,1)
For $n=1 To $arr[0]
        $tmp=StringSplit($arr[$n],$splitstr,1)
        If $tmp[0]>=4 Then $dic($tmp[2])=$tmp[4]
Next
$str=FileRead("z:\b.txt")
$arr=StringSplit($str,@CRLF,1)
For $n=1 To $arr[0]
        $tmp=StringSplit($arr[$n],$splitstr,1)
        If $tmp[0]>=2 Then
                If $dic.exists($tmp[1]) Then 
                        $tmp[2]=$dic($tmp[1])
                        $str=$tmp[1]
                        For $i=2 To $tmp[0]
                                $str&=$splitstr&$tmp[$i]
                        Next
                        $arr[$n]=$str
                EndIf
        EndIf
Next
$str=$arr[1]
For $n=2 To $arr[0]
        $str&=@CRLF&$arr[$n]
Next
FileWrite("z:\c.txt",$str)
不知道结果对不对,06年的老本,9秒

评分

参与人数 2金钱 +40 收起 理由
dtooboss + 30 感谢!!
MaGiCmAn + 10 谢谢分享!很给力!

查看全部评分

发表于 2013-9-27 23:30:49 | 显示全部楼层
回复 17# kevinch
08年的台式机,3.2秒!
很给力,谢谢分享!
 楼主| 发表于 2013-9-28 08:11:27 | 显示全部楼层
不知道结果对不对,06年的老本,9秒
kevinch 发表于 2013-9-27 19:36


太感谢了~~~
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 11:37 , Processed in 0.068583 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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