Slette tegn som matcher et mønster

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å)