比较2个字符串或数组与输出

时间:2012-09-04 21:57:29

标签: arrays string asp-classic compare

我想知道如何通过字符串或数组比较2个列表,并获取未比较的值。

我正在考虑类似于PHP函数array_diff()的东西。

经典ASP有可能吗?

1 个答案:

答案 0 :(得分:0)

您可以使用Scripting.Dictionary:

Public Function RemoveMatches(byVal arrRemove(), byVal arrMatches)
    Dim sdScriptingDictionary, Item, arrReturn

    Set sdScriptingDictionary = CreateObject("Scripting.Dictionary")
    sdScriptingDictionary.RemoveAll
    sdScriptingDictionary.CompareMode = BinaryCompare
    For Each itemRemove in arrRemove
        For Each itemMatches in arrMatches
            If itemMatches<>itemRemove Then
                'Response.Write "ADD:" & itemRemove & ":" & itemMatches & "<br />"
                If Not sdScriptingDictionary.Exists(itemRemove) Then sdScriptingDictionary.Add itemRemove, itemRemove
            Else
                'Response.Write "REMOVE:" & itemRemove & ":" & itemMatches & "<br />"
                If sdScriptingDictionary.Exists(itemRemove) Then sdScriptingDictionary.Remove(itemRemove)
                Exit For
            End If
        Next
    Next
    arrReturn = sdScriptingDictionary.keys

    'Clean Up
    Erase arrRemove
    Set arrRemove = Nothing

    Erase arrMatches
    Set arrMatches = Nothing

    sdScriptingDictionary.RemoveAll
    Set sdScriptingDictionary = Nothing

    RemoveMatches = arrReturn
End Function