本帖最后由 pusofalse 于 2009-12-28 19:12 编辑
论坛已经有了“删除重复记录”的代码。这个删除不重复的则还是一样的思路,众多方法中,唯有正则和表驱动法是效率是最高的~ 正则不到家,先来个表驱动法~#include <Array.au3>
Local $aArray[10] = ["a", "b", "c", "d", "e", "f", "a", "b", "c", "d"], $sVar
Local $sRandomSep = Random(1, 1000) & Random(2000, 3000) & Random(4000, 5000)
For $i = 0 To Ubound($aArray) - 1
If Not IsDeclared(".." & $aArray[$i]) Then
Assign(".." & $aArray[$i], $i)
Else
Assign("??" & $i, 0)
If Not IsDeclared("??" & Eval(".." & $aArray[$i])) Then
Assign("??" & Eval(".." & $aArray[$i]), 0)
EndIf
EndIf
Next
For $i = 0 To Ubound($aArray) - 1
If Not IsDeclared("??" & $i) Then ContinueLoop
$sVar &= $aArray[$i] & $sRandomSep
Next
$sVar = StringRegExp($sVar, "(?U)(.*)" & $sRandomSep, 3)
_Arraydisplay($sVar)
|