Powershell – Check If String Starts With IgnoreCase
Sprawdzanie czy ciąg znaków zaczyna się od jakiegoś znaku (lub łańcucha) jest powszechną potrzebą dla każdego rodzaju skryptu powershell. Możemy użyć operatora like powershell’a ze znakiem wieloznacznym, aby sprawdzić łańcuch startswith zarówno dla wrażliwych na wielkość liter jak i niewrażliwych na wielkość liter.
Następująca metoda jest używana do sprawdzenia czy łańcuch zaczyna się od innego łańcucha używając operatora like. Domyślnie operator like ignoruje sprawdzanie rozróżniania wielkości liter.
$strVal ='Hello world'if($strVal -like 'hello*') { Write-Host 'Your string is start with hello'} else { Write-Host 'Your string does not start with hello"'}
Aby wykonać porównanie Case-Sensitive wystarczy poprzedzić słowo „c” operatorem like („clike”).
$strVal ='Hello world'if($strVal -clike 'Hello*') { Write-Host 'True'} else { Write-Host 'False'}
Możemy również użyć funkcji rozszerzenia łańcuchów .NET StartsWith do sprawdzenia, czy łańcuch zaczyna się od zestawu znaków.
Następująca metoda jest używana do sprawdzenia, czy ciąg znaków zaczyna się od innego ciągu znaków.
$strVal ='Hello world'if($strVal.StartsWith('Hello')) { Write-Host 'True'} else { Write-Host 'False'}
Użyj następującej metody, jeśli chcesz zignorować wielkość liter w sprawdzaniu startu z.
$strVal ='Hello world'if($strVal.StartsWith('hello','CurrentCultureIgnoreCase')) { Write-Host 'True'} else { Write-Host 'False'}
.