PowerShell:
Søking og erstatting av tekst
How to:
# Enkel søk og erstatt i en tekststreng
$tekst = "Hello, world!"
$oppdatertTekst = $tekst -replace "world", "Norway"
$oppdatertTekst
Resultat: Hello, Norway!
# Bruke regex for mer komplekse operasjoner
$streng = "Eple 100, Banan 200"
$oppdatertStreng = $streng -replace "\d+", "150"
$oppdatertStreng
Resultat: Eple 150, Banan 150
# Erstatter flere ord
$tekst = "Fjell og dal, skog og fjord."
$ordErstatt = @{
"fjell" = "åser";
"dal" = "glen";
}
foreach ($ord in $ordErstatt.Keys) {
$tekst = $tekst -replace $ord, $ordErstatt[$ord]
}
$tekst
Resultat: åser og glen, skog og fjord.
Deep Dive
Søk og erstatt har vært en hjørnestein i programmering siden tidlige teksteditorer som vi brukte på 70-tallet. Alternativer som sed
i Unix/Linux-miljøer tilbyr lignende funksjoner. I PowerShell bruker -replace
operator regex (regular expressions) som standard, noe som gir kraftige muligheter for tekstmanipulering.
Selve implementasjonen i PowerShell ligger i .NET-rammeverket, der string-klasser gir søk- og erstatningsfunksjoner. Regex-basert erstatning tillater mønstergjenkjenning for dynamisk tekstbehandling, som er super nyttig i skripting for datarensing, logganalyse, og automatisering av kodeendringer.