Die Filter-Funktion gibt ein nullbasiertes Datenfeld zurück, das eine Untermenge eines Zeichenfolgen-Datenfelds basierend auf festgelegten Filterkriterien enthält.
Syntax | ||||
Filter(Liste(), Wert, Aufnehmen, Vergleichen) | ||||
Rückgabewert | ||||
Typ |
Beschreibung | |||
String() |
Liste der gefundenen Listeneinträge | |||
Parameter | ||||
Verwendung |
Name |
Typ |
Übergabe |
Beschreibung |
Erforderlich |
Liste |
String() |
ByVal |
Liste wird nach dem angegebenen Wert, einer Zeichenfolge durchsucht |
Erforderlich |
Wert |
String |
ByVal |
Wert für die Suche |
Optional |
Aufnehmen |
Boolean |
ByVal |
s.u. |
Optional |
Vergleichen |
Long |
ByVal |
s.u. |
Liste wird nach dem angegebenen Wert, einer Zeichenfolge durchsucht.
Über den booleschen Parameter Aufnehmen können Sie entscheiden, ob die Untermenge der Liste zurückgegeben wird, welche Wert als untergeordnete Zeichenfolge enthält (TRUE) oder ob die Untermenge der Liste zurückgegeben wird, die Wert nicht als untergeordnete Zeichenfolge enthält (FALSE).
Der Parameter Vergleichen kann folgende Werte haben:
Vergleichen |
Beschreibung |
0 |
Führt einen binären Vergleich durch |
1 |
Führt einen Textvergleich durch |
Beispiel
Dim Namen() As String, NamenMitBB() As String, NamenOhneBB() As String
Namen := List("Abby", "Bubba", "Charlie", "Debbie", "Edgar")
NamenMitBB := Filter(Namen, "bb", True, 1)
NamenOhneBB := Filter(Namen, "bb", False, 1)
Dim N As String
For Each N In NamenMitBB
MsgBox(N)
EndFor
For Each N In NamenOhneBB
MsgBox(N)
EndFor
In dem Beispiel wird eine Liste mit Namen aufgebaut und in der Variablen „Namen“ hinterlegt. Die Filter-Funktion sucht nun in der Liste solche Namen, die ein Doppel-b beinhalten und erzeugt mit den gefundenen Namen eine neue Liste.