REPLACE

ersetzt Zeichen in einer Zeichenkette

Mit REPLACE können Zeichen der Zeichenfolge am Eingang IN1 durch die Zeichenfolge am Eingang IN2 ersetzt werden. Die Zahl der Zeichen, d.h. die Länge L der zu ersetzenden Zeichenfolge, wird am Eingang L eingegeben. Die Position, an der die Ersetzung beginnen soll, wird am Eingang P eingegeben. Das Ergebnis wird in die Ausgangsvariable geschrieben.

Parameter

Eingang

IN1 (STRING)

Eingangszeichenfolge

IN2 (STRING)

Ersatzzeichenfolge

L (INT)

Anzahl der zu ersetzenden Zeichen in der Eingangszeichenfolge

P (INT)

Startposition der zu ersetzenden Eingangszeichenfolge, wobei 1 das erste Zeichen der Zeichenfolge kennzeichnet.

Ausgang

Unnamed output (STRING)

Ergebniszeichenfolge

Anmerkungen

  • Wenn Sie diesen Befehl mit UTF-8-Zeichenfolgen verwenden, beachten Sie die Hinweise zu UTF-8-Zeichenfolgen unter dem Datentyp STRING.

  • Wenn die Zeichenfolgen länger sind als die, die für die Länge der Eingangsvariablen input_string_1 und input_string_2) im Feld Typ definiert sind, tritt ein Fehler auf (siehe Monitor > Sondermerker und -datenregister > Basisfehler).

Fehleralarmmerker

sys_bIsOperationErrorHold (wird auf TRUE gesetzt und bleibt TRUE)

wenn eine am Eingang oder Ausgang angegebene Zeichenfolge eine ungültige Zeichenfolge ist

sys_bIsOperationErrorNonHold (wird für einen Zyklus auf TRUE gesetzt)

wenn eine am Eingang oder Ausgang angegebene Zeichenfolge eine ungültige Zeichenfolge ist

Beispiel

POE-Kopf

Im POE-Kopf werden alle Ein- und Ausgangsvariablen deklariert, die für die Programmierung dieser Funktion verwendet werden. Für alle Programmiersprachen wird der gleiche POE-Kopf verwendet.

	VAR
		output_value: STRING[32]:='';
	END_VAR

POE-Rumpf

In diesem Beispiel werden Konstante direkt an die Eingänge der Funktion geschrieben. Stattdessen können Sie Variablen im POE-Kopf deklarieren. Die Zeichenfolge müssen im POE-Kopf oder an den Funktionseingängen in Apostrophen stehen. Hier wird ’c’ in der Zeichenfolge ’MrSpock’ mit ’o’ ersetzt; das Ergebnis ist ’MrSpook’.

KOP-Rumpf

BODY
    WORKSPACE
        NETWORK_LIST_TYPE := NWTYPELD ;
        ACTIVE_NETWORK := 0 ;
    END_WORKSPACE
    NET_WORK
        NETWORK_TYPE := NWTYPELD ;
        NETWORK_LABEL :=  ;
        NETWORK_TITLE :=  ;
        NETWORK_HEIGHT := 6 ;
        NETWORK_BODY
B(B_VARIN,,'MrSpock',6,1,8,3,);
B(B_VARIN,,'o',6,2,8,4,);
B(B_VARIN,,1,6,3,8,5,);
B(B_VARIN,,6,6,4,8,6,);
B(B_VAROUT,,output_value,14,1,16,3,);
B(B_F,REPLACE!,Instance,8,0,14,6,,?DIN1?DIN2?DL?DP?C);
L(1,0,1,6);
        END_NETWORK_BODY
    END_NET_WORK
END_BODY

AWL-Rumpf

Letzte Änderung: 2024-04-02Feedback zu dieser SeitePanasonic Hotline