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 Variable, in der das Ergebnis vom Ersetzen gespeichert werden soll.
EingabeVar
Name der Variable, 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
Der zu suchende Text. Die Übereinstimmung ist nicht Groß-/Kleinschreibung-sensitiv, es sei denn, StringCaseSense ist eingeschaltet.
ErsatzText
SuchText wird mit diesem Text ersetzt. Wenn dieser Parameter weggelassen wird oder leer ist, wird SuchText mit einer leeren Zeichenkette ersetzt. Mit anderen Worten wird dieser Text aus AusgabeVar entfernt.
AllesErsetzen

Lässt man diesen Parameter weg, wird nur das erste Vorkommen von SuchText ersetzt. Ansonsten kann 1, A oder All angegeben werden, um alle Vorkommen zu ersetzen.

Geben Sie das Wort UseErrorLevel an, um die Anzahl der ersetzten Vorkommen in ErrorLevel zu speichern (0, falls keine). UseErrorLevel bewirkt, dass alle Vorkommen ersetzt werden.

ErrorLevel

Falls der letzte Parameter UseErrorLevel ist, wird ErrorLevel die Anzahl der ersetzten Vorkommen erhalten (0, falls keine). Ansonsten wird ErrorLevel auf 1 gesetzt, wenn SuchText in EingabeVar nicht gefunden wurde, oder auf 0, falls doch.

Bemerkungen

Bei diesen und allen anderen Befehlen kann AusgabeVar auch EingabeVar sein, und umgekehrt.

Die internen Variablen %A_Space% und %A_Tab% können genutzt werden, um ein einzelnes Leerzeichen bzw. Tabulatorzeichen anzugeben. 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 der Leistung und Speichernutzung veraltet. Obwohl diese Option weiterhin angegeben werden kann, hat sie keinen Effekt mehr.

StrReplace(), RegExReplace(), IfInString, StringCaseSense, StringLeft, StringRight, StringMid, StringTrimLeft, StringTrimRight, StringLen, StringLower, StringUpper, StringGetPos, if Var is Typ

Beispiele

Entfernt alle CR+LF-Paare in der Zwischenablage.

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

Ersetzt alle Leerzeichen mit Pluszeichen.

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

Entfernt alle leeren Zeilen im Text einer Variable.

Loop
{
    StringReplace, MeineZkette, MeineZkette, `r`n`r`n, `r`n, UseErrorLevel
    if (ErrorLevel = 0)  ; Ersetzen nicht mehr notwendig.
        break
}