stefan: vbscript find im array

Hallo,

ich hoffe doch das mein Beitrag hier in Allgemein richtig positioniert ist.

Ich suche in vbscript eine Möglichkeit einen String in einem Array zu finden und weiß nicht was ich falsch mache.

erster Versuch:

vNom = "Z073"

Dim arrSuche, arrGefunden
string1 = "seppel"
arrSuche = Array("fritz","heinz","schorsch","seppel","franz")
  arrGefunden = Filter(arrSuche, string1)

if vNom = "Z073" And string1= arrGefunden(0)then
@include beispiel1.txt
else
@include beispiel2.txt
end if

Dies funktiniert leider nur, wenn in string1 ein Wert enthalten ist der auch im Array enthalten ist. Sonst Laufzeitfehler.

zweiter versuch:

vNom = "Z073"

Dim arrSuche, arrGefunden
string1 = "seppel"
arrSuche = Array("fritz","heinz","schorsch","seppel","franz")
  arrGefunden = Filter(arrSuche, string1)

If InStr(arrSuche, string1 ) Then
 if vNom = "Z073" then
@include beispiel1.txt
else
@include beispiel2.txt
end if
Else
 WScript.Echo "Ist nicht enthalten."
End If

Auch hier gibt es ein Laufzeitfehler :-(

Ich brauche einfach nur eine Methode find wie in Javascript. Kann mir jemand einen Tipp geben ???

Viele Grüße
Stefan

  1. Hallo

    Ich suche in vbscript eine Möglichkeit einen String in einem Array zu finden und weiß nicht was ich falsch mache.

    erster Versuch:

    richtiger Ansatz, aber ...

    vNom = "Z073"

    Dim arrSuche, arrGefunden
    string1 = "seppel"
    arrSuche = Array("fritz","heinz","schorsch","seppel","franz")
    arrGefunden = Filter(arrSuche, string1)

    ... Du überprüfst hier überhaupt nicht, ob die Suche erfolgreich war.
    Wenn die Zeichenkette im Array nicht enthalten war, gibt Filter() ein leeres Array zurück.

    Überprüfe zuerst, ob es Suchergebnisse gibt. Das heißt: prüfe die Anzahl der Elemente im Array arrGefunden.

    If vNom = "Z073" And string1= arrGefunden(0) Then
        @include beispiel1.txt
    Else
        @include beispiel2.txt
    End If

    Dies funktiniert leider nur, wenn in string1 ein Wert enthalten ist der auch im Array enthalten ist. Sonst Laufzeitfehler.

    Logisch: Du greifst in diesem Fall auf ein nicht existierendes Arrayelement zu. Kein Wunder, dass es zu einem Laufzeitfehler kommt.

    Freundliche Grüße

    Vinzenz