如何比较两个一维数组。
数组一和数组二都是一维数组,如何发现在数组二中,比数组一中没有出现过的变量。
比如数组一
3
sd.pdf
wiley.pdf
springer.pdf
数组二中
4
sd.pdf
wiley.pdf
springer.pdf
newone.pdf
如何找到这个newone.pdf 忘记说了,里面的3和4是维度,不用比较。也不用把4这个数字找出来。 #include <array.au3>
$arr=StringSplit("sd.pdf|wiley.pdf|springer.pdf","|")
$arr2=StringSplit("sd.pdf|wiley.pdf|springer.pdf|newone.pdf|mytest.pdf","|")
$dic=ObjCreate("scripting.dictionary")
If IsObj($dic) Then
For $n=1 To $arr2
$dic($arr2[$n])=""
Next
For $n=1 To $arr
If $dic.exists($arr[$n]) Then $dic.remove($arr[$n])
Next
$tmp=$dic.keys
_ArrayDisplay($tmp)
EndIf不重复的可以这样试一下,如果有重复的要用另外的方法 不重复的可以这样试一下,如果有重复的要用另外的方法
kevinch 发表于 2014-6-4 20:41 http://www.autoitx.com/images/common/back.gif
如果第一个数组,只有维度,没有具体字符呢?就是说只有一个$arr=0,别的什么都没有,
第二个数组也有这种情况,就是只有一个维度$arr2=0,别的也是什么都没有,怎么办? 回复 4# sex123
你难道不会先判断第位再执行?这问题好像不应该问啊,一个稳定的程序是需要经常判断一些特殊情况的 回复sex123
你难道不会先判断第位再执行?这问题好像不应该问啊,一个稳定的程序是需要经常判断一些 ...
kevinch 发表于 2014-6-4 21:00 http://www.autoitx.com/images/common/back.gif
我问的就是如果第位是0的话,怎么执行你写的代码? 回复 6# sex123
你写个这样特殊的代码出来看下,就是多一个if判断呗 我也来一个试试#include <array.au3>
Local $array1=,$array2=
_ArrayDelete($array1,0)
_ArrayDelete($array2,0)
;~ _ArrayDisplay($array1)
;~ _ArrayDisplay($array2)
$string1=_ArrayToString($array1)
$string2=_ArrayToString($array2)
$string1=StringRegExpReplace($string1,"\.","\\\.")
;~ MsgBox(0,"",$string1)
;~ MsgBox(0,"",$string2)
$result=StringRegExpReplace($string2,$string1,"|")
$result=StringRegExpReplace($result,"\|\|","")
MsgBox(0,"",$result)
页:
[1]