User Tools

Site Tools


vba:functions:rx:rx_escape_string

First PagePrevious PageBack to overviewNext PageLast Page

[VBA] rx_escape_string()

Wenn man generisch ein Pattern zusammensetzen will, kann es hilfreich sein, die RegEx-Sonderzeichen zu escapen. Diese Funktion maskiert alle notwendigen Zeichen.

Übersicht über alle rx-Funktionen: [VBA] RegExp Functions (RX-Functins)
Für die Ausgabe der Resultate verwendete ich die Funktion [VBA] print_r()
Die Funktion verwendet [VBA] rx_replace()

Definition

Public Function rx_escape_string( _
        ByVal iString As String _
) As String

Parameterliste

  • iString String, der maskiert werden soll

Anwendungsbeispiele

print_r rx_escape_string("(00.12)")
<String> '\(00\.12\)'

print_r rx_escape_string("C:\load.log")
<String> 'C:\\load\.log'

Code

Die folgende Konstante wird verwendet um die Spezielzeichen zu finden

'/**
' * Pattern mit allen Sonderzeichen die Escapte werden müssen
' */
Private Const C_RX_ESCAPE_PATTERNS = "([\\\*\+\?\|\{\[\(\)\^\$\.\#])"
rx.bas
'/**
' * Escapte alle Sonderzeichen um eine rx-Pattern zu erstellen
' * @example    rx_escape_string("Hallo Welt. Geht es dir (noch) gut?")
' *             Hallo Welt\. Geht es dir \(noch\) gut\?
' * @param  String
' * @return String
' */
Public Function rx_escape_string( _
        ByVal iString As String _
) As String
    rx_escape_string = rx_replace(C_RX_ESCAPE_PATTERNS, "\$1", iString)
End Function
vba/functions/rx/rx_escape_string.txt · Last modified: 07.07.2014 09:10:05 by yaslaw