Powershell – Kontrollera om en sträng börjar med IgnoreCase
Kontrollera om en sträng börjar med något tecken (eller en sträng) är ett vanligt behov för alla typer av powershell-skript. Vi kan använda powershells like-operator med wildcard-tecken för att kontrollera startswith-strängen för både skiftlägeskänslig och skiftlägesokänslig.
Följande metod används för att kontrollera om en sträng börjar med en annan sträng med hjälp av like-operatorn. Som standard ignorerar like-operatorn kontrollen av skiftlägen.
$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"'}
För att utföra en jämförelse av skiftlägen är det bara att sätta ordet ”c” före like-operatorn (”clike”).
$strVal ='Hello world'if($strVal -clike 'Hello*') { Write-Host 'True'} else { Write-Host 'False'}
Vi kan också använda .NET:s strängutvidgningsfunktion StartsWith för att kontrollera om en sträng är startswith med en uppsättning tecken.
Följande metod används för att kontrollera om en sträng börjar med en annan sträng.
$strVal ='Hello world'if($strVal.StartsWith('Hello')) { Write-Host 'True'} else { Write-Host 'False'}
Använd följande metod om du vill ignorera stor- och mellanbokstäverna i start med-kontrollen.
$strVal ='Hello world'if($strVal.StartsWith('hello','CurrentCultureIgnoreCase')) { Write-Host 'True'} else { Write-Host 'False'}