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-Key: 268636

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

Printed on: April 28, 2024 at 10:04 o'clock

Member: colinardo
Solution colinardo Apr 09, 2015 updated at 11:00:34 (UTC)
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
Member: MarcoBorn
MarcoBorn Apr 09, 2015 at 11:00:29 (UTC)
Goto Top
Hallo Uwe, gibt es eigentlich auch etwas, das Du nicht weißt? Vielen Dank abermals für Deine Hilfe...