PowerShell et l’opérateur -contains
Source : Stack Overflow [powershell]
L’opérateur -Contains ne fait pas de comparaisons de sous-chaînes et la correspondance doit être sur une chaîne complète. Il est utilisé pour rechercher dans des collections.
D’après la documentation à laquelle vous avez fait référence :
-Contains
Description : Opérateur de contenance. Indique si une collection de valeurs de référence inclut une valeur de test unique.
Dans l’exemple que vous avez fourni, vous travaillez avec une collection contenant un seul élément de type chaîne.
Si vous lisez la documentation à laquelle vous avez fait référence, vous verrez un exemple qui démontre ce comportement :
Exemples :
PS C:\> "abc", "def" -Contains "def"
True
PS C:\> "Windows", "PowerShell" -Contains "Shell"
False #Not an exact match
Je pense que ce que vous voulez est l’opérateur -Match :
"12-18" -Match "-"
Ce qui retourne True.
Important : Comme souligné dans les commentaires et dans la documentation liée, il convient de noter que l’opérateur -Match utilise des expressions régulières pour effectuer la correspondance de texte.