!--a11y-->
文字列を2つまたはそれ以上の部分に分割する場合は、
SPLIT 命令を使用してください。構文
SPLIT <c> AT <del> INTO <c1> ... <cn>.
区切文字
<del> のうしろの項目 <c> が検索されます。区切文字の前後の部分がターゲット項目 <c1> ...<cn> に送られます。 <cn>.文字列のすべての断片をそれぞれ別個のターゲット項目に格納するには、十分な数のターゲット項目を指定する必要があります。そうでないと、最後の目標項目には、項目
<c> の残りの部分がすべて入り、その中には区切文字列が含まれたままになります。目標項目のすべてが十分に長く、どの部分列も切り取られない場合は、
SY-SUBRC に0が設定されます。その他の場合には4が設定されます。
DATA: STRING(60),
P1(20) VALUE '++++++++++++++++++++',
P2(20) VALUE '++++++++++++++++++++',
P3(20) VALUE '++++++++++++++++++++',
P4(20) VALUE '++++++++++++++++++++',
DEL(3) VALUE '***'.
STRING = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'.
SPLIT STRING AT DEL INTO P1 P2 P3 P4.
WRITE / P1.
WRITE / P2.
WRITE / P3.
WRITE / P4.
出力は次のように表示されます。
Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5
Part 1
Part 2
Part 3
Part 4 *** Part 5
項目
P1 ...P4 の内容はすべて上書きされ、項目は後続の空白で埋め込まれます。元の文字列を構成する部分を、内部テーブルに格納することもできます。
構文
SPLIT <c> AT <del> INTO TABLE <itab>.
文字列の各部分列に対して、新規のテーブル行が追加されます(内部テーブルの追加情報については、
内部テーブルの登録と処理を参照してください)。
