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
- Microsoftin virallinen dokumentaatio regexistä PowerShellissa: about_Regular_Expressions
Get-Help about_Comparison_Operators
PowerShellissa lisätietoja-replace
operaattorista- Korvaamiseen liittyvät StackOverflow-keskustelut ja esimerkit: StackOverflow: PowerShell Replace