marcoborn
Goto Top

RegEx beim Ersetzen

Hallo Forum,
ich muss in VB.NET aus einem String etliche Sonderzeichen entfernen. Dazu nutze ich zur Zeit verschachtelte Replace-Anweisungen.
ZielText = Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(QuellText, Chr(13), ""), Chr(12), ""), Chr(9) & Chr(11), Chr(10)), Chr(11), Chr(10)), Chr(9), ""), Chr(7), ""), Chr(6), ""), Chr(5), ""), Chr(4), ""), Chr(3), ""), Chr(2), ""), Chr(1), ""), Chr(0), ""), Chr(10) & Chr(10), Chr(10)), Chr(31), ""), Chr(160), ""), Chr(14), "")  

Kann dies auch mit Hilfe von RegEx erfolgen? Wenn ja, kann mir jemand ein kurzes Beispiel nennen, wie ich zumindest einige der Replaces ersetzen kann?

Vielen Dank im voraus,
M. Born

Content-ID: 268636

Url: https://administrator.de/contentid/268636

Ausgedruckt am: 21.11.2024 um 22:11 Uhr

colinardo
Lösung colinardo 09.04.2015 aktualisiert um 13:00:34 Uhr
Goto Top
Hallo Marco,
kein Problem ...Beispiel:
Dim regex As New System.Text.RegularExpressions.Regex("Max|Sepp|Anna")  
Dim result As String = regex.Replace("Hallo Max Meier, Sepp Muster, Anna Muster", "")  
MsgBox(result)
Die Escape-Sequenzen für die Sonderzeichen innerhalb des Regex-Patterns kannst du hier nachlesen:
http://www.sql-und-xml.de/regex/glossar.html

Die kannst du dann im Pattern z.B so schreiben (hexadezimaler Werte der Character):
[\x0A\x0B]
Dort kannst du auch Ranges angeben indem du sie mit Bindestrich miteinander verkettest:
[\x21-\x2F]
Dim regex As New System.Text.RegularExpressions.Regex("[\x21-\x2F]")  
Dim result As String = regex.Replace("Das ist ein test-text mit $ - ' Sonderzeichen", "_")  
MsgBox(result)

Grüße Uwe
MarcoBorn
MarcoBorn 09.04.2015 um 13:00:29 Uhr
Goto Top
Hallo Uwe, gibt es eigentlich auch etwas, das Du nicht weißt? Vielen Dank abermals für Deine Hilfe...