Überprüfen des Beginns einer Zeichenfolge mithilfe von PowerShell

  1. Verwenden des logischen Operators -Like zum Überprüfen des Beginns einer Zeichenfolge mit PowerShell
  2. Verwenden des logischen Operators -cLike zum Überprüfen des Anfangs einer Zeichenfolge mit PowerShell
  3. Verwenden der Funktion StartsWith() zum Überprüfen des Anfangs einer Zeichenfolge mit PowerShell
Überprüfen des Beginns einer Zeichenfolge mithilfe von PowerShell

Es kann Fälle geben, in denen wir auf einen Anwendungsfall stoßen, der eine Funktionalität erfordert, um zu prüfen, ob eine Zeichenkettenvariable mit einem Zeichen oder einer Zeichenfolge beginnt.

Das Überprüfen einer Zeichenfolge, ob sie mit einem bestimmten Zeichen oder einer bestimmten Zeichenfolge beginnt, ist eine gängige Praxis beim Erstellen von Skripts und auch ziemlich einfach, wenn sie in Windows PowerShell geschrieben wird.

In diesem Artikel wird gezeigt, wie Sie den Anfang einer Zeichenkettenvariablen mithilfe verschiedener Methoden in Windows PowerShell überprüfen.

Wir können den Windows PowerShell-Operator -like mit einem Platzhalterzeichen verwenden, um den Anfang der Zeichenfolge sowohl auf Groß-/Kleinschreibung als auch auf Groß- und Kleinschreibung zu prüfen. Aber bevor wir seine Syntax besprechen, müssen wir vielleicht klären, was ein Platzhalter ist.

Wildcards sind systematische Muster, die verwendet werden, um mehrere Zeichen zu finden. Sie geben bestimmte Muster in den Cmdlets an, um die Ergebnisse zu filtern oder nur die Platzhalterergebnisse zurückzugeben. Es gibt verschiedene Arten von Platzhaltern, die in Windows PowerShell verfügbar sind. Sie werden als *, ?, [m-n] und [abc] dargestellt.

In diesem speziellen Anwendungsfall verwenden wir den Stern (*) als Platzhalter. Der Sternchen-Platzhalter gibt an, dass das Übereinstimmungsmuster null oder mehr Zeichen enthalten muss. Die Zeichenkette ba* kann also zum Beispiel bat, bath, bars, basil, basilica oder einfach ba entsprechen.

Verwenden des logischen Operators -Like zum Überprüfen des Beginns einer Zeichenfolge mit PowerShell

Die folgende Methode prüft, ob ein String mit einem anderen String beginnt, indem der Operator -like verwendet wird. Standardmäßig ignoriert der -Like-Operator die Groß-/Kleinschreibung. Wenn wir jedoch, wie bereits erwähnt, logische Operatoren verwenden, müssen diese mit einem Sternchen-Platzhalter verknüpft werden.

Beispielcode:

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

Ausgabe:

Your string starts with hello.

Verwenden des logischen Operators -cLike zum Überprüfen des Anfangs einer Zeichenfolge mit PowerShell

Wir können den Operator -cLike verwenden, um einen Vergleich mit Berücksichtigung der Groß- und Kleinschreibung durchzuführen.

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

Ausgabe:

Your string starts with uppercase H.

Verwenden der Funktion StartsWith() zum Überprüfen des Anfangs einer Zeichenfolge mit PowerShell

Wir können auch die String-Erweiterungsfunktion des .NET-Frameworks namens StartsWith() verwenden, um zu prüfen, ob ein String mit einer Reihe von Zeichen beginnt.

Die folgende Methode prüft, ob eine Zeichenfolge mit einer anderen Zeichenfolge beginnt.

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

Die Funktion StartsWith akzeptiert auch ein weiteres Argument, mit dem wir auf Groß- und Kleinschreibung prüfen können. Dieses Argument ist CurrentCultureIgnoreCase. Verwenden Sie die folgende Methode, wenn Sie einen Vergleich mit Berücksichtigung der Groß-/Kleinschreibung durchführen möchten.

$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

Verwandter Artikel - PowerShell String