$TOKEN(トークン抽出関数)
指定した文字列、抽出するトークンの位置およびセパレータ文字の定義に従って、トークンを抽出します。
形式
返却値=$TOKEN(処理対象文字列,抽出トークン位置,セパレータ文字)
指定する値
-
返却値
抽出したトークンを設定する変数名を指定します。
-
処理対象文字列
トークンを抽出する対象となる文字列を、定数または変数で指定します。定数を指定する場合は、「'(シングルクォーテーション)」で囲みます。
-
抽出トークン位置
抽出するトークンの位置を、定数または変数で指定します。定数を指定する場合は、「'(シングルクォーテーション)」で囲みます。セパレータ文字で切り出したトークンの先頭を0として、抽出するトークンの通番を指定します。例えば、aaa、bbb、ccc、dddという文字列の場合、セパレータ文字を区切りとして抽出する文字(aaa)がトークンとなります。この例の場合は、次に示す0〜3がトークン位置に当たります。
0:aaa
1:bbb
2:ccc
3:ddd
また、トークン位置を誤って、切り出し範囲外を指定した場合、0バイトの文字列を返します。
-
セパレータ文字
トークンを切り出す文字を定数または変数で指定します。使用できる文字は、半角の英数字および記号です。定数を指定する場合は、「'(シングルクォーテーション)」で囲みます。
終了状態
処理の終了状態とその内容を次に示します。
終了状態 |
内容 |
---|---|
NORMAL |
正常終了 |
NODATA |
処理対象文字列に指定した値が抽出トークン位置にない |
ERROR |
− |
スクリプト中断 |
引数の誤り、またはそのほかのエラー |
記述例
「NAME」に文字列「ABC/DEF/GHI」が格納されている場合、結果として「VALUE」に「DEF」が抽出される記述例を次に示します。
[SET_VALUE] DATA = 'ABC/DEF/GHI' VAL = $TOKEN(DATA,1,'/') MSG = 'TOKEN = ' +VAL $ECHO(MSG)
- 実行結果
-
TOKEN = DEF