StringReplace

Ersetzt eine bestimmte Teilzeichenkette mit einer neuen Zeichenkette.

Veraltet: Dieser Befehl ist nicht für neue Skripte empfohlen. Verwenden Sie stattdessen die StrReplace-Funktion.

StringReplace, AusgabeVar, EingabeVar, SuchText , ErsatzText, AllesErsetzen

Parameter

AusgabeVar
Name der Ausgabevariable, in der das Ergebnis der Ersetzung gespeichert werden soll.
EingabeVar
Name der Eingabevariable, deren Inhalt eingelesen werden soll. Umschließen Sie den Namen nicht mit Prozentzeichen, es sei denn, Sie wollen den Inhalt der Variable als Namen verwenden.
SuchText
Die Zeichenkette, nach der gesucht werden soll. Die Suche erfolgt nicht Groß-/Kleinschreibung-sensitiv, es sei denn, StringCaseSense wurde eingeschaltet.
ErsatzText
Wenn leer oder weggelassen, wird SuchText mit einer leeren Zeichenkette ersetzt, d.h. es wird in AusgabeVar weggelassen. Andernfalls geben Sie die Zeichenkette an, mit der SuchText ersetzt werden soll.
AllesErsetzen

Wenn leer oder weggelassen, wird nur das erste Vorkommen von SuchText ersetzt. Andernfalls geben Sie 1, A oder All an, um alle Vorkommen zu ersetzen.

Geben Sie das Wort UseErrorLevel an, um die Anzahl der Vorkommen, die ersetzt wurden, in ErrorLevel zu speichern (andernfalls 0). UseErrorLevel impliziert "All".

ErrorLevel

Wenn der letzte Parameter UseErrorLevel ist, wird ErrorLevel auf die Anzahl der Vorkommen gesetzt, die ersetzt wurden (andernfalls 0). Andernfalls wird ErrorLevel auf 1 gesetzt, wenn SuchText in EingabeVar nicht gefunden wurde, oder auf 0, wenn es gefunden wurde.

Bemerkungen

Bei diesem und allen anderen Befehlen darf AusgabeVar die gleiche Variable wie EingabeVar sein.

Die internen Variablen A_Space und A_Tab enthalten ein Leer- bzw. Tabulatorzeichen. Sie sind nützlich, um nach Leer- und Tabulatorzeichen zu suchen, die entweder einzeln oder am Anfang oder Ende von SuchText vorkommen.

[v1.0.45+]: Die AllSlow-Option ist aufgrund von Verbesserungen bzgl. Performanz und Speichernutzung überflüssig geworden. Diese Option kann weiterhin angegeben werden, hat aber keinen Effekt mehr.

StrReplace(), RegExReplace(), IfInString, StringCaseSense, StringLeft, StringRight, StringMid, StringTrimLeft, StringTrimRight, StringLen, StringLower, StringUpper, StringGetPos, If Var is [not] Typ

Beispiele

Entfernt alle CR-LF-Paare (`r`n) aus der Zwischenablage.

StringReplace, Clipboard, Clipboard, `r`n, , All

Ersetzt jedes Leerzeichen mit einem Pluszeichen.

StringReplace, NeueZkette, AlteZkette, %A_Space%, +, All

Entfernt alle leeren Zeilen aus dem Text einer Variable.

Loop
{
    StringReplace, MeineZkette, MeineZkette, `r`n`r`n, `r`n, UseErrorLevel
    if (ErrorLevel = 0)  ; Keine weiteren Ersetzungen erforderlich.
        break
}