Ich muss eine Zeichenkette durchsuchen, um zu sehen, ob sie einen der Texte in einem Array von Zeichenketten enthält. Zum Beispiel
excludeList="warning", "a common unimportant thing", "something else"
searchString=hier ist eine Zeichenkette, die uns über eine allgemeine, unwichtige Sache informiert.
otherString=etwas Gewöhnliches, das aber nichts damit zu tun hat
In diesem Beispiel würden wir die Zeichenkette "common unimportant thing" aus dem Array in meiner searchList finden und true zurückgeben. otherString enthält jedoch keine der vollständigen Zeichenketten im Array und würde daher false zurückgeben.
Ich bin mir sicher, dass das nicht so kompliziert ist, aber ich habe zu lange darauf geschaut...
Aktualisieren: Das Beste, was ich bis jetzt herausfinden konnte, ist:
#list of excluded terms
$arrColors = "blue", "red", "green", "yellow", "white", "pink", "orange", "turquoise"
#the message of the event we've pulled
$testString = "there is a blue cow over there"
$test2="blue"
$count=0
#check if the message contains anything from the secondary list
$arrColors | ForEach-Object{
echo $count
echo $testString.Contains($arrColors[$count])
$count++
}
es ist allerdings nicht allzu elegant...
0 Stimmen
Ich denke, ich könnte dies in einer Schleife ein Element zu einer Zeit zu tun haben, aber müssen eine wie-Anweisung verwenden, die ich nicht bekommen, arbeiten mit einem Array-Element, siehe Code unten #Liste der ausgeschlossenen Begriffe $arrColors = "blau", "rot", "grün", "gelb", "weiß", "rosa", "orange", "türkis" #die Nachricht des Ereignisses, das wir gezogen haben $testString = "dort drüben ist eine blaue Kuh" $test2="blau" #prüfen, ob die Nachricht etwas aus der sekundären Liste enthält $testString -like " $arrColors[0] " $testString -like " blau " $test2 -enthält $arrColors[0]
0 Stimmen
Das obige Ergebnis ist False True True Warum ist der $testString -like " nicht $arrColors[0] " return true?