Link to home
Start Free TrialLog in
Avatar of SnAkEhIpS
SnAkEhIpSFlag for United States of America

asked on

How to ignore alphabetical case in an array comparison-VBScript-

The attached vbscript compares 2 arrays and writes any discrepancies to a text file. A problem arises when the name of the element in the first array (arrFirst) does not match the alphabetical case of the element in the second array (arrSecond). For example, "Folder12" in arrFirst should be considered a match with "foLdEr12" in arrSecond. How can I ignore case in comparison of these arrays?
Const FOR_WRITING = 2 
 
Dim objFso 
Dim objOutputFile 
Dim strOutputFile 
 
Dim arrFirst 
Dim arrSecond 
Dim strElementFirst 
Dim strElementSecond 
Dim blnExistsInSecond 
 
strOutputFile = "C:\temp\Differences.txt" 
 
Set objFso = CreateObject("Scripting.FileSystemObject") 
If objFso.FileExists(strOutputFile) Then 
Set objOutputFile = objFso.OpenTextFile(strOutputFile,FOR_WRITING) 
Else 
Set objOutputFile = objFso.CreateTextFile(strOutputFile) 
End If 
arrFirst = arrFolders
arrSecond = Array("F","G","H","A","B","Z") 
'the problem arises when the name of the element in arrFirst does not match the case of the element in arrSecond
 
For Each strElementFirst In arrFirst 
blnExistsInSecond = False 
For Each strElementSecond In arrSecond 
If strElementFirst = strElementSecond Then 
blnExistsInSecond = True 
Exit For 
End If 
Next 
If Not blnExistsInSecond Then 
objOutputFile.WriteLine strElementFirst & " does not exist in the second array" 
End If 
Next

Open in new window

ASKER CERTIFIED SOLUTION
Avatar of JonMny
JonMny

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of SnAkEhIpS

ASKER

Thank you for the rapid response. It works great.