Funktionreferenz


StringReplace

Beschreibung anzeigen in

Ersetzt ein oder mehrere Zeichen in einem String.

StringReplace ( "string", "searchstring/start", "replacestring" [, occurrence = 0 [, casesense = 0]] )

Parameter

string Der auszuwertende String.
searchstring/start Der Teilstring, der gesucht werden soll oder die Position des Zeichens, an der das Ersetzen beginnt.
replacestring Der String, der den gesuchten Teilstring ersetzt.
occurrence [optional] Die Anzahl der Wiederholungen zum Ersetzen des "searchstrings". Wird eine negative Zahl verwendet, so wird von der rechten Seite beginnend gesucht.
0 = alle "searchstrings" werden ersetzt (Standard)
casesense [optional] Flag zum Kennzeichnen ob die Suchaktion Groß-/Kleinschreibung unterscheidet.
    $STR_NOCASESENSE (0) = Nein, Groß-/Kleinschreibung wird nicht berücksichtigt (Standard).
    $STR_CASESENSE (1) = Ja, Groß-/Kleinschreibung wird berücksichtigt.
    $STR_NOCASESENSEBASIC (2) = Groß- und Kleinschreibung werden nicht berücksichtigt. Es findet ein einfacherer schnellerer Vergleich statt

Die Konstanten sind in StringConstants.au3 definiert.

Rückgabewert

Gibt den neuen String zurück. Die Anzahl der durchgeführten Ersetzungen wird in @extended gespeichert.

Bemerkungen

Standardmäßig, oder wenn "occurrence" positiv ist, wird das Suchen/Ersetzen von links nach rechts durchgeführt. Deshalb gibt StringReplace("aaa", "aa", "bb") "bba" zurück.

Wird nur die Grundfunktion benutzt, werden die Parameter "occurrence" und "casesense" ignoriert. Die Funktion ersetzt die Zeichen in "string", beginnt an der angeforderten Position mit den Zeichen in "replacestring". Es werden so viele Zeichen ersetzt wie in "replacestring". Gibt es jedoch in "string" nicht genügend Zeichen, um den kompletten "replacestring" einzufügen, so wird ein leerer String zurückgegeben und @error auf 1 gesetzt.

Wenn eine Ersetzung ohne Groß- und Kleinschreibung ($STR_NOCASESENSE) für eine lange Zeichenkette durchgeführt wird, kann die Ausführungszeit durch die Verwendung von StringRegExpReplace() mit der Option leading (?i) verringert werden.
Es ist zu beachten, dass in diesem Fall RegEx-Metacharaktere \ . ^ $ | [ ( { * + ? # durch ein vorangestelltes \ abgefangen werden müssen. Siehe Beispiel 2 für Leistungsunterschiede.

Verwandte Funktionen

StringAddCR, StringLeft, StringLen, StringLower, StringMid, StringRight, StringStripWS, StringTrimLeft, StringTrimRight, StringUpper, StringRegExpReplace

Beispiel

#include <MsgBoxConstants.au3>

; Ersetzt ein Leerzeichen (' ') mit einem - (minus).
Local $sString = StringReplace("Dies ist ein Satz mit Leerzeichen.", " ", "-")
Local $iReplacements = @extended
MsgBox($MB_SYSTEMMODAL, "", $iReplacements & " Ersetzungen wurden durchgeführt und der neue String lautet:" & @CRLF & @CRLF & $sString)