■構文
Filter(sourcesrray, match[, include[, compare]])
■説明
検索対象(配列)と検索文字列を指定することでマッチした配列要素を配列に格納して返します。
マッチしなかった場合空の配列を返します。
第一引数:検索対象の配列を指定します。
第二引数:検索する文字列を指定します。
第三引数:(省略可能)検索にマッチしたデータを返すか、検索にマッチしなかったデータを返すか指定します。
True→マッチしたデータ。False→マッチしなかったデータ。省略時は、True
第四引数:(省略可能)文字列の比較モードを指定します。
■サンプルコード
■サンプルコード
Filter(sourcesrray, match[, include[, compare]])
■説明
検索対象(配列)と検索文字列を指定することでマッチした配列要素を配列に格納して返します。
マッチしなかった場合空の配列を返します。
第一引数:検索対象の配列を指定します。
第二引数:検索する文字列を指定します。
第三引数:(省略可能)検索にマッチしたデータを返すか、検索にマッチしなかったデータを返すか指定します。
True→マッチしたデータ。False→マッチしなかったデータ。省略時は、True
第四引数:(省略可能)文字列の比較モードを指定します。
定数 | 値 | 説明 |
vbUseCompareOption | -1 | Option Compareステートメントの設定を仕様して比較を行います |
vbBinaryCompare | 0 | バイナリモードの比較を行います |
vbTextCompare | 1 | テキストモードの比較を行います |
vbDatabaseCompare | 2 | MicrosoftAccessの場合のみ有効。データベースに格納されている設定に基づいて比較を行います |
■サンプルコード
Option Explicit Dim FoodList Dim SelectList Dim i 'カテゴリ(果物or野菜or飲料)と食べ物がCSVでセットになった 'データが格納されている配列があったとします。 FoodList = Array("果物,りんご", "野菜,だいこん", "飲料,お茶", _ "果物,みかん", "野菜,ぴーまん", "飲料,お酒") '■果物だけ抽出してみる SelectList = Filter(FoodList, "果物") '結果を表示 For i = 0 To UBound(SelectList) '果物,りんご '果物,みかん が表示される Wscript.Echo SelectList(i) Next Wscript.Echo "---" '■野菜だけ抽出してみる SelectList = Filter(FoodList, "野菜") '結果を表示 For i = 0 To UBound(SelectList) '野菜,だいこん '野菜,ぴーまん が表示される Wscript.Echo SelectList(i) Next Wscript.Echo "---" '■飲料以外を抽出してみる(第三引数をFalse) SelectList = Filter(FoodList, "飲料", False) '結果を表示 For i = 0 To UBound(SelectList) '果物,りんご '野菜,だいこん '果物,みかん '野菜,ぴーまん が表示される Wscript.Echo SelectList(i) Next '■マッチしない文字列の場合 SelectList = Filter(FoodList, "定食") Wscript.Echo UBound(SelectList) '-1
■サンプルコード
Option Explicit Dim DataList Dim SelectList Dim i DataList = Array("aa", "aaa", "AA", "AAA") SelectList = Filter(DataList, "aa", True, vbBinaryCompare) For i = 0 To UBound(SelectList) 'aa 'aaa が表示される Wscript.Echo SelectList(i) Next Wscript.Echo "---" SelectList = Filter(DataList, "aa", True, vbTextCompare) For i = 0 To UBound(SelectList) 'aa 'aaa 'AA 'AAA が表示される Wscript.Echo SelectList(i) Next
0 件のコメント:
コメントを投稿