PowerShell contains l'opérateur

Migel Hewage Nimesha 1 avril 2022
PowerShell contains l'opérateur

Il existe différents opérateurs disponibles dans le PowerShell qui peuvent filtrer/comparer ou rechercher des éléments qui correspondent à une chaîne d’entrée spécifiée. Le -contains est l’un des principaux opérateurs de comparaison, classé comme un opérateur de type Containment.

Il existe quatre principaux opérateurs de type confinement.

  • -contains
  • -notcontains
  • -in
  • -notin

Dans cet article, nous nous concentrons uniquement sur l’opérateur -contains. Cet opérateur renvoie toujours une valeur booléenne (vrai/faux) en cas de correspondance. De plus, l’opérateur -contains en termes de performances est assez rapide pour renvoyer les résultats car il arrête de comparer l’entrée dès qu’il trouve la première correspondance.

l’opérateur -contains dans PowerShell

Cet opérateur peut être utilisé pour vérifier si une collection contient un élément spécifique. Sa syntaxe est comme ci-dessous.

[set/collection] -contains [test-value or test-object]

[set/collection] peut être un ensemble de valeurs de chaîne (séparées par des virgules), par exemple, "Hello" ou "FOX", "2ndLane".

[test-value or test-object] peut être un élément ou un ensemble d’éléments (collection), par exemple, "Hello" ou "Hello", "FOX", "No2".

Vérifier un certain élément

  • Exemple 01 :
"Hello", "FOX", "2ndLane" -contains "2ndLane"

Production :

True

L’élément/la valeur d’entrée est "2ndLane" et il peut être situé dans la collection/l’ensemble de gauche. Par conséquent, la sortie/résultat est évidemment True.

  • Exemple 02 :
"Hello", "FOX", "2ndLane" -contains "NotInTheCollection"

Production :

False

L’élément/la valeur d’entrée est "NotInTheCollection" et il n’est pas inclus dans la collection de droite. Par conséquent, la commande ci-dessus a été évaluée à False.

Le fait important à propos de l’opérateur -contains est qu’il vérifie l’élément d’entrée exact dans la collection/l’ensemble donné. La commande sera évaluée comme False lorsqu’une portion/sous-chaîne a été donnée comme élément d’entrée.

  • Exemple 03 :
"Hello", "FOX", "FullStringGiven" -contains "StringGiven"

Production :

False

Dans l’exemple ci-dessus, l’élément d’entrée est le "StringGiven", mais c’est une sous-chaîne de l’élément "FullStringGiven" de la collection de droite. Par conséquent, l’élément d’entrée ne correspond pas à un élément exact de la collection de droite, et le résultat est False comme prévu.

Vérifier un ensemble d’éléments/collection avec l’opérateur -contains dans PowerShell

L’un des plus grands avantages de l’opérateur -contains est qu’il peut être utilisé pour déterminer si la collection/l’ensemble donné correspond à une collection d’entrée. Il est important de garder à l’esprit que l’opérateur vérifie si les mêmes instances existent du côté gauche (collection donnée) et du côté droit (collection d’entrée/test-collection). Cela signifie que ces opérateurs de confinement utilisent l’égalité des références lorsque l’objet d’entrée (test-object) est une collection.

Exemple 01

$leftsideobj = "Hello", "NewString1"

Ici, nous affectons la variable $leftsideobj à l’ensemble des éléments (collection).

$leftsideobj, "AnotherString" -contains $leftsideobj

Ensuite, nous utilisons l’opérateur -contains pour trouver une correspondance.

Production :

True

Cette commande a été évaluée à True. Parce que la collection d’entrée est $leftsideobj et que la même instance est disponible dans la collection de gauche. Cela signifie que l’égalité de référence a été remplie. Par conséquent, le résultat est True.

Exemple 02

$newleftsideobj = "Hello", "Test"

Ici, nous avons la variable $newleftsideobj assignée à une collection qui contient les éléments "Hello" et "Test".

`"Hello", "Test", "NewString1" -contains $newleftsideobj`

Production :

False

La commande ci-dessus a été évaluée à False. Vous pouvez voir que la collection d’entrée (côté droit) est $newleftsideobj, qui indirectement les deux éléments "Hello" et "Test". Si vous remarquez le côté gauche, nous avons des éléments "Hello" et "Test" disponibles. Mais cela ne satisfait pas l’égalité de référence. C’est pourquoi la sortie est False.

Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Article connexe - PowerShell Operator