Vérifier le début d'une chaîne à l'aide de PowerShell

Marion Paul Kenneth Mendoza 30 janvier 2023
  1. Utilisation de l’opérateur logique -Like pour vérifier le début d’une chaîne à l’aide de PowerShell
  2. Utilisation de l’opérateur logique -cLike pour vérifier le début d’une chaîne à l’aide de PowerShell
  3. Utilisation de la fonction StartsWith() pour vérifier le début d’une chaîne à l’aide de PowerShell
Vérifier le début d'une chaîne à l'aide de PowerShell

Il peut y avoir des cas où nous rencontrons un cas d’utilisation qui peut nécessiter une fonctionnalité pour vérifier si une variable de chaîne commence par un caractère ou une chaîne.

Vérifier une chaîne si elle commence par un caractère ou une chaîne spécifique est une pratique courante lors de la création de scripts et est également relativement facile lorsqu’elle est écrite dans Windows PowerShell.

Cet article explique comment vérifier le début d’une variable de chaîne à l’aide de différentes méthodes dans Windows PowerShell.

Nous pouvons utiliser l’opérateur -like de Windows PowerShell avec un caractère générique pour vérifier le début de la chaîne à la fois sensible à la casse et insensible à la casse. Mais avant de discuter de sa syntaxe, nous devrons peut-être clarifier ce qu’est un caractère générique.

Les caractères génériques sont des modèles systématiques utilisés pour faire correspondre plusieurs caractères. Ils spécifient des modèles spécifiques dans les cmdlets pour filtrer les résultats ou renvoyer uniquement les résultats génériques. Il existe différents types de caractères génériques disponibles dans Windows PowerShell. Ils sont représentés par la forme de *, ?, [m-n] et [abc].

Nous utiliserons le caractère générique astérisque (*) dans ce cas d’utilisation spécifique. Le caractère générique astérisque indique que le modèle correspondant doit contenir zéro ou plusieurs caractères. Ainsi, par exemple, la chaîne ba* peut correspondre à bat, bath, bars, basil, basilica ou simplement ba.

Utilisation de l’opérateur logique -Like pour vérifier le début d’une chaîne à l’aide de PowerShell

La méthode suivante vérifie si une chaîne commence par une autre chaîne à l’aide de l’opérateur -like. Par défaut, l’opérateur -like ignore l’instruction sensible à la casse. Cependant, comme mentionné précédemment, si nous utilisons des opérateurs logiques, ils doivent être associés à un caractère générique astérisque.

Exemple de code :

$strVal = 'Hello World'
if($strVal -like 'hello*') {
      Write-Host "Your string starts with hello."
} else {
      Write-Host "Your string doesn't start with hello."
}

Production :

Your string starts with hello.

Utilisation de l’opérateur logique -cLike pour vérifier le début d’une chaîne à l’aide de PowerShell

Nous pouvons utiliser l’opérateur -cLike pour effectuer une comparaison sensible à la casse.

$strVal = 'Hello World!'
if($strVal -clike 'h*') {
      Write-Host "Your string starts with lowercase h."
} else {
      Write-Host "Your string starts with uppercase H."
}

Production :

Your string starts with uppercase H.

Utilisation de la fonction StartsWith() pour vérifier le début d’une chaîne à l’aide de PowerShell

Nous pouvons également utiliser la fonction d’extension de chaîne du framework .NET appelée StartsWith() pour vérifier si une chaîne commence par un ensemble de caractères.

La méthode suivante vérifie si une chaîne commence par une autre chaîne.

$strVal ='Hello World!'
if($strVal.StartsWith('Hello')) {
     Write-Host 'Your string starts with hello.'
} else {
     Write-Host 'Your string doesn't start with hello.'
}

La fonction StartsWith accepte également un autre argument que nous pouvons utiliser pour vérifier les caractères sensibles à la casse. Cet argument est CurrentCultureIgnoreCase. Utilisez la méthode suivante si vous souhaitez effectuer une comparaison sensible à la casse.

$strVal ='Hello world'
if($strVal.StartsWith('hello','CurrentCultureIgnoreCase')) {
     Write-Host 'True'
} else {
     Write-Host 'False'
}
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Article connexe - PowerShell String