特定の文字を区切り文字として文字列を切り取る
この記事では、特定の区切り文字を指定して、区切った文字列を取得するサンプルを記載しています。
TOKEN 関数、GET_TOKEN 関数
TOKEN 関数では「特定の文字」を区切り文字として、文字列を取得することができます。
例えば「あい,うえ@お」という文字列において、カンマ(,)を区切り文字として「あい」と「うえ@お」を分けるようなことができます。
関数の使い方
TOKEN(対象の文字項目名や文字列 , '区切り文字’ , 取得する位置)
GET_TOKEN(対象の文字項目名や文字列 , '区切り文字’ , 取得する位置)
GET_TOKEN関数は区切り文字を複数指定できます。
取得する位置は、正の値だと前から取得、負の値だと後ろから取得します。
「あい,うえ@お」をカンマ区切りで取得する場合、「1」は「あい」、「-1」は「うえ@お」です。
サンプルプロシジャ
MOJI項目には「あい,うえ@お」という文字列が格納されています。
TOKEN関数では「カンマ区切り」、GET_TOKEN関数では「カンマと@区切り」を指定しています。
SET PAGE-NUM = NOLEAD
DEFINE FILE CAR
MOJI/A10V = 'あい,うえ@お';
TOKEN1/A10V = TOKEN(MOJI,',',1);
TOKEN2/A10V = TOKEN(MOJI,',',-1);
GET_TOKEN1/A10V = GET_TOKEN(MOJI,',@',1);
GET_TOKEN2/A10V = GET_TOKEN(MOJI,',@',-1);
END
TABLE FILE CAR
PRINT COUNTRY NOPRINT
MOJI OVER
TOKEN1 OVER
TOKEN2 OVER
GET_TOKEN1 OVER
GET_TOKEN2
WHERE COUNTRY EQ 'FRANCE'
END
TOKEN関数とGET_TOKEN関数では、先頭の文字列(1)と後方の文字列(-1)を指定しており、以下の文に書かれている黄色と赤色のマーカーの位置が切り取る文字列になることを確認してください。
TOKENでは「あい,うえ@お」、GET_TOKENでは「あい,うえ@お」が取得されます。