Um heraus zu finden, ob sich ein bestimmtes Wort oder eine beliebige Zeichenkette in einem String befindet, gibt es den Parameter -match. Vergleichbar ist -match von der Wirkungsweise mit Funktion inStr() im VBS.
Enthält die zu untersuchende Zeichenkette den gesuchten Inhalt, gibt -match true aus. Somit ist -match ein boolescher Wert. dennoch ist -match nicht Case sensitiv.
Zum Parameter -match gibt es noch einen passenden Parameter -notmatch. Dieser Prüft ob eine gesuchte Zeichenkette nicht enthalten ist. Ist die gesuchte Zeichenkette nicht enthalten, so ist der Wert true.
Codebeispiele
-match
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
#Variante 1 $bspStr = "Ich-bin-ein-String-mit-Trennzeichen." -match "trenn" $bspStr #Ausgabe #true #Variante 2 $inputStr = "Ich-bin-ein-String-mit-Trennzeichen." $bspStr = $inputStr -match "zeichen" $bspStr #Ausgabe #true #Variante 3 $bspStr = "Ich-bin-ein-String-mit-Trennzeichen." -match "TreNn" $bspStr #Ausgabe #true #Variante 4 $bspStr = "Ich-bin-ein-String-mit-Trennzeichen." -match "TrenZeichen" $bspStr #Ausgabe #false #Variante 5 $bspStr = "Ich bin ein String ohne Trennzeichen." -match "ohne Trenn" $bspStr#Ausgabe #Ausgabe #true |
-notmatch
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
#Variante 1 $bspStr = "Ich-bin-ein-String-mit-Trennzeichen." -notmatch "blog" $bspStr #Ausgabe #true #Variante 2 $bspStr = "Ich-bin-ein-String-mit-Trennzeichen." -notmatch "tReNNz" $bspStr #Ausgabe #false #Variante 3 $inputStr = "Ich-bin-ein-String-mit-Trennzeichen." $bspStr = $inputStr -notmatch "trenn" $bspStr #Ausgabe #false |
rewe
Hallo Herr Rewald,
toller blog, vielen Dank. Was ich da vermisse ist nur noch die Möglichkeit der Abfrage auf Symbole wie z.B. -match „\.“
Da wäre der blog mit Sicherheit noch informativer.
Viele Grüße aus Aachen
Hallo Micheal,
danke für die Idee. Wird in den nächsten Tagen umgesetzt.
Viele Grüße
Stefan