试下效率
#include <array.au3>
$file_a=FileRead("a.txt")
$file_b=FileRead("b.txt")
if StringTrimRight($file_a,1)<>"/" then $file_a=$file_a&@crlf&"/"
if StringTrimRight($file_b,1)<>"/" then $file_b=$file_b&@crlf&"/"
$file_a_array=StringRegExp($file_a,'(?ms)(\/.*?/\s+)(.*?)(?=\s+/)',3)
$file_b_array=StringRegExp($file_b,'(?ms)(\/.*?/\s+)(.*?)(?=\s+/)',3)
local $a_Dic=objcreate("scripting.dictionary")
local $b_Dic=objcreate("scripting.dictionary")
for $i=1 to UBound($file_a_array)-1 step 2
$a_Dic.item($file_a_array[$i-1])=$file_a_array[$i]
$b_Dic.item($file_b_array[$i-1])=$file_b_array[$i]
Next
for $i=0 to UBound($file_a_array)-1 step 2
if $b_dic.Exists($file_a_array[$i]) Then
;msgbox(0,0,$file_a_array[$i]&@crlf&$b_dic.item($file_a_array[$i]))
$file_a_array[$i+1]=$b_dic.item($file_a_array[$i])
EndIf
Next
$str=StringRegExpReplace(_ArrayToString($file_a_array,@CRLF),'\n\r','')
filewrite("c.txt",$str)
|