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