Søking og erstatting av tekst

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.

See Also