3.27 FINDSTRING: Zeichenkette aufteilen
| | | | | |
Format:
CALL FINDSTRING USING DELIMITER SOURCEFELD DESTFELD
[POS1 POS2 ...] [VALUE1 VALUE2 ...].
| |
| | | |
Der String in SOURCEFELD wird aufgeteilt in einzelne Segmente, die wiederum eigene Unterteilungen mit anderen Delimitern be- sitzen dürfen. Durch die Angabe der POS -Felder kann ein ganz bestimmter Unter- string aus dem SOURCEFELD in das DESTFELD gebracht werden.
Allgemeiner Aufbau:
Segment Wort0 Wdel Wort1 Wdel Wort2 ... usw.
Wobei Wdel der Delimiter für die einzelnen Worte ist
Segmente werden mit Sdel getrennt
Segment0 Sdel Segment1 Sdel Segment2 ... usw.
Diese Verschachtelung kann beliebig fortgeführt werden.
In Delimiter müßte dann Sdel Wdel stehen.
Bsp.
Im SOURCEFELD steht:
WORT00+WORT01+WORT02#WORT10+WORT11+WORT12+WORT13
Der Aufruf sieht wie folgt aus:
CALL FINDSTRING USING '#+' SOURCEFELD DESTFELD 1 2.
Als Ergebnis würde WORT12 geliefert werden.
Zu beachten ist die Reihenfolge bei der Delimiterangabe!
Verwendet man jetzt Wortnummer 0 als Segmentbezeichner, so kann als weitere Option beim FINDSTRING die VALUE-Angabe verwendet werden.
CALL FINDSTRING USING '#+' SOURCEFELD DESTFELD 1 2 'TEST'.
Die Angabe des 1. Zählers bezieht sich jetzt nicht auf die Seg- mentnummer, sondern nur auf die Segmente mit der Bezeichnung TEST (Wort 0).
CALL FINDSTRING USING '#+' SOURCEFELD DESTFELD 2 2 'TEST'.
Liest also das 2. Wort aus dem 2. Segment mit der Bezeichnung TEST.
Siehe auch: STRINGLEN DELSTRING SUBSTRING MOVSTRING INSSTRING GETSTRING RSTRING SPRINTF TRIM
Beispiel: strings.cob
Zurück zu EXECBACKGROUND
Hoch zu Funktionslibrary
Weiter zu FREEGRAPH: Grafik löschen
|