PowerShell:
Ricerca e sostituzione del testo
How to:
Esempio semplice per cercare e sostituire una parola in una stringa:
$text = "Ciao Mondo! Programmiamo con PowerShell."
$newText = $text -replace 'Mondo', 'Tutti'
$newTextOutput:
Ciao Tutti! Programmiamo con PowerShell.Per sostituire più pattern utilizzando regex:
$text = "Le mele costano $3 al chilo, mentre le arance $2."
$text -replace '\$(\d+)', '€$1'Output:
Le mele costano €3 al chilo, mentre le arance €2.Deep Dive
Il concetto di ricerca e sostituzione ha radici nella lavorazione di testi, con antenati meccanici come la macchina da scrivere. In informatica, un’implementazione iniziale fu l’editor di testo ed, presente nei primi sistemi Unix.
Alternative in PowerShell includono l’utilizzo di cmdlet come Select-String per la ricerca e l’uso combinato di Get-Content e Set-Content per la sostituzione in file. PowerShell, essendo basato sul framework .NET, permette anche l’uso di classi .NET come System.Text.RegularExpressions.Regex per gestire ricerca e sostituzione avanzate.
Dettagli implementativi importanti in PowerShell:
-replaceusa regex di default, quindi è potente ma bisogna stare attenti a caratteri speciali.- Le stringhe sostituite non vengono modificate in-place; si crea una nuova stringa.
- Utilizzare parentesi tonde per catturare gruppi in regex e
$1,$2, ecc., per riferirsi a questi gruppi nella stringa sostitutiva.
See Also
- Tutorial su regex in PowerShell: RegularExpression in PowerShell
- Approfondimento su
Select-String: Microsoft Docs - Select-String