Opérateur Contains de PowerShell

Opérateur Contains de PowerShell

Il existe différents opérateurs disponibles dans PowerShell qui peuvent filtrer/comparer ou trouver des éléments correspondant à une chaîne d’entrée spécifiée. L’opérateur -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 Containment.

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

Dans cet article, nous ne nous concentrons que sur l’opérateur -contains. Cet opérateur renvoie toujours une valeur booléenne (vrai/faux) s’il y a une correspondance. De plus, du point de vue des performances, l’opérateur -contains est assez rapide pour renvoyer les résultats car il arrête la comparaison 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 la suivante.

[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"

Sortie :

True

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

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

Sortie :

False

L’élément/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 concernant l’opérateur -contains est qu’il vérifie l’élément d’entrée exact dans la collection/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"

Sortie :

False

Dans l’exemple ci-dessus, l’élément d’entrée est la "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 attendu.

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 trouver si la collection/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/collection de test). Cela signifie que ces opérateurs de containment utilisent l’égalité de référence lorsque l’objet d’entrée (objet de test) est une collection.

Exemple 01

$leftsideobj = "Hello", "NewString1"

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

$leftsideobj, "AnotherString" -contains $leftsideobj

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

Sortie :

True

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

Exemple 02

$newleftsideobj = "Hello", "Test"

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

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

Sortie :

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 contient les deux éléments "Hello" et "Test". Si vous remarquez le côté gauche, nous avons les éléments "Hello" et "Test" disponibles. Mais cela ne satisfait pas l’égalité de référence. C’est pourquoi la sortie est False.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
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