找回密码
 加入
搜索
查看: 7025|回复: 7

[系统综合] 如何比较两个一维数组。

  [复制链接]
发表于 2014-6-4 20:26:48 | 显示全部楼层 |阅读模式
数组一和数组二都是一维数组,
如何发现在数组二中,比数组一中没有出现过的变量。
比如数组一
3
sd.pdf
wiley.pdf
springer.pdf

数组二中
4
sd.pdf
wiley.pdf
springer.pdf
newone.pdf
如何找到这个newone.pdf
 楼主| 发表于 2014-6-4 20:27:46 | 显示全部楼层
忘记说了,里面的3和4是维度,不用比较。也不用把4这个数字找出来。
发表于 2014-6-4 20:41:37 | 显示全部楼层
#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[0]
                $dic($arr2[$n])=""
        Next
        For $n=1 To $arr[0]
                If $dic.exists($arr[$n]) Then $dic.remove($arr[$n])
        Next
        $tmp=$dic.keys
        _ArrayDisplay($tmp)
EndIf
不重复的可以这样试一下,如果有重复的要用另外的方法
 楼主| 发表于 2014-6-4 20:51:51 | 显示全部楼层
不重复的可以这样试一下,如果有重复的要用另外的方法
kevinch 发表于 2014-6-4 20:41



    如果第一个数组,只有维度,没有具体字符呢?就是说只有一个$arr[0]=0,别的什么都没有,
第二个数组也有这种情况,就是只有一个维度$arr2[0]=0,别的也是什么都没有,怎么办?
发表于 2014-6-4 21:00:56 | 显示全部楼层
回复 4# sex123
你难道不会先判断第[0]位再执行?这问题好像不应该问啊,一个稳定的程序是需要经常判断一些特殊情况的
 楼主| 发表于 2014-6-4 21:04:05 | 显示全部楼层
回复  sex123
你难道不会先判断第[0]位再执行?这问题好像不应该问啊,一个稳定的程序是需要经常判断一些 ...
kevinch 发表于 2014-6-4 21:00



    我问的就是如果第[0]位是0的话,怎么执行你写的代码?
发表于 2014-6-4 21:07:21 | 显示全部楼层
回复 6# sex123
你写个这样特殊的代码出来看下,就是多一个if判断呗
发表于 2014-6-4 21:47:55 | 显示全部楼层
我也来一个试试
#include <array.au3>
Local $array1[4]=[3,"sd.pdf","wiley.pdf","springer.pdf"],$array2[6]=[5,"sd.pdf","wiley.pdf","springer.pdf","newone.pdf","mytest.pdf"]
_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)
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-11-17 04:35 , Processed in 0.084689 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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