Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

EXTRACT-FIELD( ) Feld abtrennen

&pagelevel(3)&pagelevel

Anwendungsgebiet: String-Bearbeitung

Die Funktion EXTRACT-FIELD( ) trennt von einem Eingabe-String ein Feld ab.

Format

EXTRACT-FIELD( )

STRING = string_ausdruck

,FIELD-NUMBER = arithm_ausdruck

,FIELD-SEPARATOR = *ANY-BLANKS / string_ausdruck

Ergebnistyp

STRING

Eingabeparameter

STRING = string_ausdruck
Bezeichnet einen Eingabe-String.

FIELD-NUMBER = arithm_ausdruck
Bezeichnet die Feldnummer.

FIELD-SEPARATOR =
Gibt den Separator an. Separatoren sind nicht Teil des abgetrennten Felds.

FIELD-SEPARATOR = *ANY-BLANKS
Der Defaultwert bezeichnet ein oder mehrere Leerzeichen.
(Die Angabe '  *' (zwei Leerzeichen vor dem *) wird kompatibel unterstützt).

FIELD-SEPARATOR = string_ausdruck
string_ausdruck ist der Separator.
string_ausdruck muss hier allerdings ein einfacher regulärer Ausdruck sein (siehe dazu Handbuch „POSIX Kommandos“ [18]).

Ergebnis

Abgetrenntes Feld als String. Gibt es das angegebene Feld nicht, liefert die Funktion einen Leerstring.

Fehlermeldung

SDP0472   DIE OPERANDEN STRING UND FIELD-SEPARATOR DUERFEN KEIN NULLBYTE 
          (X'00') ENTHALTEN
SDP0474   SYNTAXFEHLER IN REGULAEREM AUSDRUCK FUER OPERAND FIELD-SEPARATOR
SDP0485   'FIELD-NUMBER' MUSS GROESSER NULL SEIN

Beispiele

Beispiel 1

/DECLARE-VARIABLE mylist(TYPE=*STRING),MULTIPLE-ELEMENT=*LIST
/mylist = 'Pencil 100',WRITE-MODE=*EXTEND
/mylist = 'Table 5',WRITE-MODE=*EXTEND
/mylist = 'Lamp 20',WRITE-MODE=*EXTEND
/mylist = 'Paper 75',WRITE-MODE=*EXTEND
/mylist = 'DVD 1000',WRITE-MODE=*EXTEND
/mylist = 'Envelope 1500',WRITE-MODE=*EXTEND
/FOR x = *LIST(mylist)
/  article = EXTRACT-FIELD(STRING=x,FIELD-NUMBER=1)
/  quantity = EXTRACT-FIELD(STRING=x,FIELD-NUMBER=2)
/  WRITE-TEXT '&quantity of &article are available'
/END-FOR

Ausgabe:

100 of Pencil are available
5 of Table are available
20 of Lamp are available
75 of Paper are available
1000 of DVD are available
1500 of Envelope are available

Beispiel 2

/A=EXTRACT-FIELD(STRING='field1,field3,field4',FIELD-NUMBER=3,FIELD-SEPARATOR=',')
/SHOW-VARIABLE A
A = field4