PowerShell:
Löschen von Zeichen, die einem Muster entsprechen
How to:
Lassen wir die Worte und kommen direkt zum Code.
$text = "Hallo Welt 123!"
$pattern = '[0-9]'
$cleanText = $text -replace $pattern, ''
Write-Host $cleanText
Ausgabe:
Hallo Welt !
Hier wird durch -replace
alles entfernt, was auf das Muster [0-9]
, also alle Ziffern, passt.
Deep Dive
Das Löschen von Zeichen, die einem Muster entsprechen, nutzt die Kraft regulärer Ausdrücke (regular expressions, regex), die seit den 1950er Jahren existieren. In PowerShell wird dies häufig mit dem -replace
-Operator erreicht. Alternativ kann man Remove
oder Trim
verwenden, wenn die Anforderungen einfacher sind, das bedeutet jedoch, auf die Flexibilität von Regex zu verzichten. Die Implementierung von Regex in PowerShell ist effizient und nutzt die .NET System.Text.RegularExpressions-Namespace, was bedeutet, dass alle Methoden und Eigenschaften, die in .NET verfügbar sind, auch in PowerShell verfügbar sind.
See Also
- Microsoft-Dokumentation zu regulären Ausdrücken in .NET: Regular Expression Language - Quick Reference