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) 
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 
If Not blnExistsInSecond Then 
objOutputFile.WriteLine strElementFirst & " does not exist in the second array" 
End If 

Open in new window

Avatar of JonMny

Link to home
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


Thank you for the rapid response. It works great.