Funktionsreferenz

StringRegExpReplace

Ersetzt Text in einem String basierend auf einem regulären Ausdruck (regular expression).

StringRegExpReplace ( "test", "pattern", "replace", [ count ] )

 

Parameter

test Der zu prüfende String.
pattern Der zu vergleichende reguläre Ausdruck. Siehe StringRegExp für die Definition vom Suchmuster.
replace Der Text, der den gefundenen Text des regulären Ausdrucks ersetzen soll. Es können auch Gruppentext wie z. B. \0 - \9 (oder $0 - $9) als Rückverweise verwendet werden
count [optional] Die Anzahl der Wiederholungen des Ersetzens in dem String. Der Standard ist 0. 0 ist für globales Ersetzen zu benutzen.

 

Rückgabewert

@Error Bedeutung
0 Korrekt ausgeführt. @Extended kann für die Überprüfung der Anzahl ausgeführter Ersetzungen genutzt werden.
2 "Pattern" ungültig. @Extended = Offset des im Muster aufgetretenen Fehlers.

 

Bemerkungen

Um Rückverweise von aktuellen (ersetzten) Zahlen zu unterscheiden, sind sie mit geschweiften Klammern zu umgeben, z. B. ${1}5".

 

Verwandte Funktionen

StringRegExp

 

Beispiel


Test1()
Test2()

; Dieses Beispiel zeigt grundlegendes Ersetzen. Es ersetzt die Vokale aeiou
; durch das @ Zeichen.
Func Test1()
    Local $sInput = "Wo sind all die Blumen hin, wo sind sie geblieben?"
    Local $sOutput = StringRegExpReplace($sInput, "[aeiou]", "@")
    Display($sInput, $sOutput)
EndFunc   ;==>Test1

; Das folgende Beispiel zeigt Rückverweise um das Datum
; von MM/DD/YYYY auf DD.MM.YYYY zu ändern
Func Test2()
    Local $sInput = 'etwas Text1 12/31/2009 01:02:03 etwas Text2' & @CRLF & _
            'etwas Text3 02/28/2009 11:22:33 etwas Text4'
    Local $sOutput = StringRegExpReplace($sInput, '(\d{2})/(\d{2})/(\d{4})', ' $2.$1.$3 ')
    Display($sInput, $sOutput)
EndFunc   ;==>Test2

Func Display($sInput, $sOutput)
    ; Die Ausgabe formatieren.
    Local $sMsg = StringFormat("Eingabe:\t%s\n\nAusgabe:\t%s", $sInput, $sOutput)
    MsgBox(0, "Ergebnis", $sMsg)
EndFunc   ;==>Display