pchome2000 发表于 2009-12-28 16:09:37

如何比较数组中重复的值,并将不重复的值删除???

本帖最后由 pchome2000 于 2009-12-28 21:10 编辑

如何比较数组中重复的值,并将不重复的值删除???

pusofalse 发表于 2009-12-28 16:54:11

搜索!

afan 发表于 2009-12-28 17:51:16

并将不重复的值删除?

pusofalse 发表于 2009-12-28 18:54:18

本帖最后由 pusofalse 于 2009-12-28 19:12 编辑

论坛已经有了“删除重复记录”的代码。这个删除不重复的则还是一样的思路,众多方法中,唯有正则和表驱动法是效率是最高的~ 正则不到家,先来个表驱动法~#include <Array.au3>

Local $aArray = ["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)

58fly 发表于 2009-12-28 21:51:01

楼上的高手,佩服!
页: [1]
查看完整版本: 如何比较数组中重复的值,并将不重复的值删除???