Tekstin etsiminen ja korvaaminen

PowerShell:
Tekstin etsiminen ja korvaaminen

How to - Näin se tehdään

Voit etsiä ja korvata tekstiä PowerShellissa käyttämällä -replace operaattoria.

# Etsi ja korvaa yksinkertainen esimerkki
$teksti = 'Hello Helsinki!'
$uusiTeksti = $teksti -replace 'Helsinki', 'Espoo'
$uusiTeksti

Output:

Hello Espoo!

Voit myös käyttää regex (säännöllisiä lausekkeita) monimutkaisempiin etsintöihin.

# Regex esimerkki
$teksti = 'Tervetuloa vuoteen 2023!'
$korjattuTeksti = $teksti -replace '\d{4}', '2024'
$korjattuTeksti

Output:

Tervetuloa vuoteen 2024!

Deep Dive - Syväsukellus

PowerShell on rakennettu .NET:in päälle, mikä mahdollistaa sen, että string korvaukset toimivat tehokkaasti. -replace operaattori käyttää .NET:n Regex.Replace metodia oletuksena.

Historiallista kontekstia kaipaaville: tehtävä on vanha kuin mikroaaltouuni. Unix-like järjestelmissä sed on klassinen komentorivityökalu tekstikorvausten tekemiseen, ja PowerShellin tekstin korvaamisen ominaisuudet ovat tavallaan sen henkiset perilliset.

Vaihtoehtoja? Voit tehdä samaa .NET:n String.Replace metodilla, mutta se ei tuki regexiä, joka on tarpeen monimutkaisemmissa tapauksissa.

See Also - Katso myös