Reguläre Ausdrücke
04.08.2014 19:25:23
Golem
ich habe ein Makro erstellt, um in ca. 1.000 Zeilen unterschiedliche Texte zu bereinigen ( mein erster
Versuch mit RegEx ).
Public Function Text_bereinigen(sText As String) As String
Dim RegEx As Object
' Für das Entfernen bestimmter Zeichen aus einem String, wird hier die Replace-Methode _
verwendet ( RegEx ).....
Set RegEx = CreateObject("Vbscript.Regexp")
With RegEx
.Pattern = "(NICHT|BEZAHLT|EU|[0-9]?[0-9]{3}[,][0]{2}|ENT-|GELT|FREMD|[0-9]?[0-9][,][ _
0]{2}|EIGEN|[0-9]?[0-9][,][0]{2}|EU|KTO-NR.|FALSCH)|" & _
"[+ZV][0-9]{20}[ ]?[0-9]{2}|" & _
"(BAHNHOFSTR)[.]?[ ]?[1-9][ ]?[-]?[1-3]?[3]?|[0-3][ ]?[0-9][ ]?[.][ ] _
?[0-1][ ]?[0-9][ ]?[.][ ]?[0-1][ ]?[0-9]|" & _
"[2-8][ ]?[0][ ]?[0-9][ ]?[0-9]|" & _
"[H][A-U]{2}[S][ ]?[1-4]|" & _
"[ -.A-Z]"
.Global = True ' Jedes Auftreten wird berücksichtigt.....
.IgnoreCase = True ' ignoriere Gross- und Kleinschreibung.....
Text_bereinigen = .Replace(sText, "")
End With
Set RegEx = Nothing
End Function
Dieses Makro funktioniert auch bisher einwandfrei. Aber ich gehe davon aus, dass das Makro noch optimiert werden kann.Meine Frage ist, ob ein RegEx-Profi den Aufwand betreiben würde, mein Makro zu optimieren. Durch diese Optimierung
erhoffe ich mir einen erheblichen Lerneffekt.
Für die evtl. Bemühung schon mal besten Dank!
Werner