Filter関数は、配列から指定した文字を含む要素を取り出し、新しい配列を返します。
Filter( inputArray, value, [, include [, compare ]])
| 引数 | 説明 |
| inputArray | 抽出元の配列 |
| value | 検索する文字列 |
include (省略可能) |
True → valueを含むものを抽出します。(規定値) |
| False → valueを含まないものを抽出します。 |
compare (省略可能) |
vbBinaryCompare → バイナリモード(0)で比較します。
|
| vbTextCompare → テキストモード(1)で比較します。 |
※テキストモード比較では大文字と小文字は区別されません。バイナリモードで比較する必要があります。
Option Explicit
Sub DisplayArray(ary)
Dim i
If UBound(ary) < 0 Then
WScript.Echo "該当データはありません。"
Else
For i=0 To UBound(ary)
WScript.Echo ary(i) & vbCr
Next
End If
WScript.Echo vbCr
End Sub
Dim ArrayA(12)
ArrayA(0) = "January"
ArrayA(1) = "February"
ArrayA(2) = "March"
ArrayA(3) = "April"
ArrayA(4) = "May"
ArrayA(5) = "June"
ArrayA(6) = "July"
ArrayA(7) = "August"
ArrayA(8) = "September"
ArrayA(9) = "October"
ArrayA(10) = "November"
ArrayA(11) = "December"
Dim ArrayB
ArrayB = Filter(ArrayA, "ber", True, vbBinaryCompare)
WScript.Echo "「ber」を含むもの"
DisplayArray(ArrayB)
Dim ArrayC
ArrayC = Filter(ArrayA, "ber", False, vbBinaryCompare)
WScript.Echo "「ber」を含まないもの"
DisplayArray(ArrayC)
Dim ArrayD
ArrayD = Filter(ArrayA, "Ber", True, vbBinaryCompare)
WScript.Echo "「Ber」を含むもの"
DisplayArray(ArrayD)
上記のコードを実行すると以下のようになります。
C:\WSH>cscript /nologo Filter.vbs
「ber」を含むもの
September
October
November
December
「ber」を含まないもの
January
February
March
April
May
June
July
August
「Ber」を含むもの
該当データはありません。