PowerShell:
Slette tegn som matcher et mønster
How to: (Hvordan:)
$myString = "Hei, verden! 123 POWERshell!"
# Slett alle tall
$noNumbers = $myString -replace '[0-9]', ''
Write-Output $noNumbers
# Output: Hei, verden! POWERshell!
# Fjern alt utenom bokstaver
$lettersOnly = $myString -replace '[^a-zA-ZæøåÆØÅ ]', ''
Write-Output $lettersOnly
# Output: Hei verden POWERshell
Deep Dive (Dypdykk)
Sletting av tegn basert på et mønster er ikke nytt. Det stammer fra regulære uttrykk, en kraftig syntaks for tekstmanipulasjon som har sin historie tilbake til 1950-tallet. I PowerShell utføres dette med -replace
operatoren. Alternativt kan du bruke .NET-klasser som Regex
for mer komplekse operasjoner. Når du bruker -replace
, husk at det skaper en ny streng siden strenger i .NET er uforanderlige.
See Also (Se Også)
- about_Comparison_Operators
- about_Regular_Expressions
- RegExr: et verktøy for å lære og teste regulære uttrykk.