PowerShell:
Eliminazione di caratteri che corrispondono a un pattern
How to:
Esempio 1: Rimuovere tutti i numeri da una stringa.
$text = 'C4s4 Blanca 2023!'
$cleanText = $text -replace '[0-9]', ''
Write-Output $cleanText
Output:
C4s4 Blanca !
Esempio 2: Eliminare i caratteri speciali tranne gli spazi.
$text = 'Benvenuti al Café@Sunrise!!'
$cleanText = $text -replace '[^\w\s]', ''
Write-Output $cleanText
Output:
Benvenuti al CaféSunrise
Deep Dive
La cancellazione di caratteri seguendo un pattern è una funzionalità essenziale nei linguaggi di scripting come PowerShell, introdotta con le espressioni regolari (regex) nei primi linguaggi di programmazione. Usando -replace
, PowerShell modernizza questa pratica antica. Un’alternativa in PowerShell è [regex]::Replace()
, ma -replace
è spesso più rapido per casi semplici. I dettagli di implementazione si affidano al motore regex .NET, che è potente e flessibile.
See Also
- Dettagli sulle espressioni regolari in .NET: Microsoft Docs - Regular Expressions .NET
- Come funzionano le espressioni regolari: RegexOne