*TRIM ( operand
|
, | LEADING
|
)
|
||||
TRAILING
|
フォーマット/長さ:operand(A または B)/DYNAMIC と同じ。
このドキュメントでは、次のトピックについて説明します。
Natural システム関数 *TRIM
は、英数字またはバイナリの文字列から先頭または末尾の空白(あるいは両方)をすべて削除します。 operand の内容は、修正されていません。 ダイナミック変数を operand として使用すると、この変数の長さは結果に従って調整されます。
*TRIM
システム関数は、フォーマット A または B の operand が許可されるステートメントの任意の位置に operand として指定できます。
ただし、ターゲット変数が予期される位置に *TRIM
を使用しないでください。 *TRIM
は、システム関数でネストすることはできません。
オペランド | 構文要素 | フォーマット | ステートメント参照 | ダイナミック定義 | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
operand | C | S | A | A | U | B | 可 | 不可 |
構文要素の説明:
以降で、例を示します。
DEFINE DATA LOCAL /******************************* /* STATIC VARIABLE DEFINITIONS /******************************* 1 #SRC (A15) INIT <' ab CD '> 1 #DEST (A15) /* FOR PRINT OUT WITH DELIMITERS 1 #SRC-PRN (A20) 1 #DEST-PRN (A20) /******************************* /* DYNAMIC VARIABLE DEFINITIONS /******************************* 1 #DYN-SRC (A)DYNAMIC INIT <' ab CD '> 1 #DYN-DEST (A)DYNAMIC /* FOR PRINT OUT WITH DELIMITERS 1 #DYN-SRC-PRN (A)DYNAMIC 1 #DYN-DEST-PRN (A)DYNAMIC END-DEFINE PRINT 'static variable definition:' PRINT '---------------------------' COMPRESS FULL ':' #SRC ':' TO #SRC-PRN LEAVING NO SPACE PRINT ' ' PRINT ' 123456789012345 123456789012345' MOVE *TRIM(#SRC, LEADING) TO #DEST COMPRESS FULL ':' #DEST ':' TO #DEST-PRN LEAVING NO SPACE DISPLAY #SRC-PRN #DEST-PRN '*TRIM(#SRC, LEADING)' MOVE *TRIM(#SRC, TRAILING) TO #DEST COMPRESS FULL ':' #DEST ':' TO #DEST-PRN LEAVING NO SPACE DISPLAY #SRC-PRN #DEST-PRN '*TRIM(#SRC, TRAILING)' MOVE *TRIM(#SRC) TO #DEST COMPRESS FULL ':' #DEST ':' TO #DEST-PRN LEAVING NO SPACE DISPLAY #SRC-PRN #DEST-PRN '*TRIM(#SRC)' PRINT ' ' PRINT 'dynamic variable definition:' PRINT '----------------------------' COMPRESS FULL ':' #DYN-SRC ':' TO #DYN-SRC-PRN LEAVING NO SPACE PRINT ' ' PRINT ' 1234567890 12345678' MOVE *TRIM(#DYN-SRC, LEADING) TO #DYN-DEST COMPRESS FULL ':' #DYN-DEST ':' TO #DYN-DEST-PRN LEAVING NO SPACE DISPLAY (AL=20) #DYN-SRC-PRN #DYN-DEST-PRN '*TRIM(#SRC, LEADING)' MOVE *TRIM(#DYN-SRC, TRAILING) TO #DYN-DEST COMPRESS FULL ':' #DYN-DEST ':' TO #DYN-DEST-PRN LEAVING NO SPACE DISPLAY (AL=20) #DYN-SRC-PRN #DYN-DEST-PRN '*TRIM(#SRC, TRAILING)' MOVE *TRIM(#DYN-SRC) TO #DYN-DEST COMPRESS FULL ':' #DYN-DEST ':' TO #DYN-DEST-PRN LEAVING NO SPACE DISPLAY (AL=20) #DYN-SRC-PRN #DYN-DEST-PRN '*TRIM(#SRC)' PRINT ' ' PRINT '":" := delimiter character to show the start and ending of a string!' END
例 1 の出力:
#SRC-PRN #DEST-PRN -------------------- ----------------------- static variable definition: ---------------------------- 123456789012345 123456789012345 : ab CD : :ab CD : *TRIM(#SRC, LEADING) : ab CD : : ab CD : *TRIM(#SRC, TRAILING) : ab CD : :ab CD : *TRIM(#SRC) dynamic variable definition: ---------------------------- 1234567890 12345678 : ab CD : :ab CD : *TRIM(#SRC, LEADING) : ab CD : : ab CD: *TRIM(#SRC, TRAILING) : ab CD : :ab CD: *TRIM(#SRC) ':' := delimiter character to show the start and ending of a string!
DEFINE DATA LOCAL /******************************* /* STATIC VARIABLE DEFINITIONS /******************************* 1 #SRC (B10) INIT <H'2020FFFF2020FFFF2020'> 1 #DEST (B10) /******************************* /* DYNAMIC VARIABLE DEFINITIONS /******************************* 1 #DYN-SRC (B)DYNAMIC INIT <H'2020FFFF2020FFFF2020'> 1 #DYN-DEST (B)DYNAMIC END-DEFINE FORMAT LS=100 PRINT 'static variable definition: PRINT '---------------------------' MOVE *TRIM(#SRC, LEADING) TO #DEST PRINT #SRC #DEST '*TRIM(#SRC, LEADING)' MOVE *TRIM(#SRC, TRAILING) TO #DEST PRINT #SRC #DEST '*TRIM(#SRC, TRAILING)' MOVE *TRIM(#SRC) TO #DEST PRINT #SRC #DEST '*TRIM(#SRC)' PRINT ' ' PRINT 'dynamic variable definition:' PRINT '----------------------------' MOVE *TRIM(#DYN-SRC, LEADING) TO #DYN-DEST PRINT #DYN-SRC #DYN-DEST ' *TRIM(#SRC, LEADING)' MOVE *TRIM(#DYN-SRC, TRAILING) TO #DYN-DEST PRINT #DYN-SRC #DYN-DEST ' *TRIM(#SRC, TRAILING)' MOVE *TRIM(#DYN-SRC) TO #DYN-DEST PRINT #DYN-SRC #DYN-DEST ' *TRIM(#SRC)' PRINT ' ' PRINT 'hex."20" := space character' END
例 2 の出力:
static variable definition: ---------------------------- 2020FFFF2020FFFF2020 0000FFFF2020FFFF2020 *TRIM(#src, leading) 2020FFFF2020FFFF2020 00002020FFFF2020FFFF *TRIM(#src, trailing) 2020FFFF2020FFFF2020 00000000FFFF2020FFFF *TRIM(#src) dynamic variable definition: ---------------------------- 2020FFFF2020FFFF2020 FFFF2020FFFF2020 *TRIM(#src, leading) 2020FFFF2020FFFF2020 2020FFFF2020FFFF *TRIM(#src, trailing) 2020FFFF2020FFFF2020 FFFF2020FFFF *TRIM(#src) hex.'20' := space character