# Zeichenfolge extrahieren (Mitte)

Extrahiert eine Zeichenfolge aus einer gewünschten Position.

##### Baustein

##### Text

TARGET = substring(INPUT, STARTPOSITION, COUNT);
1 4 2 3

# | Beschreibung
1 | [Destination Data] Legen Sie das Ziel fest, an dem Sie die extrahierte Zeichenfolge speichern möchten.
2 | [Start position] Ganzzahliger Wert, der den Startpunkt für die Zeichenfolgenextraktion angibt. Der Wert muss größer oder gleich 1 und kleiner oder gleich der extrahierbaren Startposition sein.
3 | [Number of characters] Legen Sie die Anzahl der zu extrahierenden Zeichen fest. Der Wert muss größer oder gleich 1 und kleiner oder gleich der Anzahl der Zeichen sein, die extrahiert werden können. Doppelbytezeichen werden als einzelnes Zeichen gezählt.
4 | [Source Data] Legen Sie die Quelldaten fest, in denen die zu konvertierende Zeichenfolge gespeichert ist.

(Beispiel)

##### Baustein

##### Text

Var4 = substring(Var3,Var5,Var1);

## Operationsbeispiel

Variable in [Source Data] | [Start position] | [Number of characters] | Variable in [Destination Data] | Kommentare
Zielzeichenfolge | Maximale Anzahl von Bytes | Extrahierte Zeichenfolge zum Speichern
ABCDE | 2 | 3 | 5 | BCD | -
4 | 3 | 5 | (keine) | Eine Zeichenfolge wird nicht gespeichert, da der Wert in [Number of characters] die Anzahl der abrufbaren Zeichen überschreitet. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
6 | 3 | 5 | (keine) | Eine Zeichenfolge wird nicht gespeichert, da der Wert in [Start position] die verfügbare Startposition überschreitet. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
0 | 3 | 5 | (keine) | Eine Zeichenfolge wird nicht gespeichert, da der Wert in [Start position] weniger als 1 ist. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
-1 | 3 | 5 | (keine) | Eine Zeichenfolge wird nicht gespeichert, da der Wert in [Start position] weniger als 1 ist. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
4 | 0 | 5 | (keine) | Eine Zeichenfolge wird nicht gespeichert, da der Wert in [Number of characters] weniger als 1 ist. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
4 | -1 | 5 | (keine) | Eine Zeichenfolge wird nicht gespeichert, da der Wert in [Number of characters] weniger als 1 ist. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
2,1 | 3 | 5 | BCD | Der Dezimalteil der [Start Position] wird abgeschnitten.
2 | 3,5 | 5 | BCD | Die Werte rechts vom Dezimalzeichen in [Number of characters] werden weggelassen.
ABCDEF | 1 | 6 | 5 | (keine) | Eine Zeichenfolge wird nicht gespeichert, da die konvertierte Zeichenfolge die maximal zu speichernde Byte-Zahl überschreitet. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
AB(0x00)CDE | 2 | 3 | 5 | (keine) | Zeichenfolge wird nicht gespeichert. Bei NULL (0x00) endet dort die Zeichenfolge. Daher überschreitet der Wert in [Number of characters] die Anzahl der abrufbaren Zeichen. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
4 | 3 | 5 | (keine) | Zeichenfolge wird nicht gespeichert. Bei NULL (0x00) endet dort die Zeichenfolge. Daher überschreitet der Wert in [Start position] die verfügbare Startposition. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
AあB | 1 | 3 | 5 | AあB | Die Zeichenfolgenspeicherung basiert auf dem Wert in [Number of characters]. *1
2 | 3 | 5 | (keine) | Eine Zeichenfolge wird nicht gespeichert, da der Wert in [Number of characters] die Anzahl der abrufbaren Zeichen überschreitet. Im „Operationsergebnis“ wird dies als fehlgeschlagen beurteilt.
2 | 2 | 5 | あB | Die Zeichenfolgenspeicherung basiert auf dem Wert in [Number of characters]. *1

*1 Wenn die Höchstzahl an Bytes in der Variable [Destination Data] geringer ist als die Größe der abgerufenen Zeichenfolge, schlägt der Vorgang fehl. Die Höchstzahl der Bytes hängt von der Codierung der Variable [Destination Data] ab.