文字のストリング
%TRIM(両方向のトリミング)
[一般形式]
%TRIM (string {: characters to trim})
1 つのパラメーターのみが指定された %TRIM は、すべての先行および後書きブランクを除去したうえで、 指定されたストリングを戻します。
2 つのパラメーターが指定された %TRIM は、トリミング対象文字パラメーター で 先行および末尾の文字を除去したうえで、指定されたストリングを戻します。
このストリングは、文字、図形、また は UCS-2 のどのデータでもかまいません。
トリミング対象文字 パラメーターを指定する場合には、 ストリング・パラメーターと同じタイプを指定する必要があります。
定義仕様書のキーワードのパラメーターとして指定する場合には、ストリング・ パラメーターは定数でなければなりません。
定義キーワードのパラメーターでは、2角パラメーターを使用して%TRIMを指定する事はサポートされません。
_*..1....+....2....+....3....+....4....+....5....+....6....+....7...+....8.
D*Name++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++
D Location S 16A
D FirstName S 10A inz (' Chris ')
D LastName S 10A inz (' Smith ')
D Name S 20A
CL0N01FACTOR1+++++++OPCODE&EXTEXTENDED-FACTOR2+++++++++++++++++++++++++++++
C* LOCATION will have the value 'Toronto, Ontario'.
C EVAL Location = %trim (' Toronto, Ontario ')
C* Name will have the value 'Chris Smith! '.
C EVAL Name = %trim (FirstName) + ' ' + %trim (LastName) + '!'
C* ブランク以外の文字のトリミング
_*..1....+....2....+....3....+....4....+....5....+....6....+....7...+....8.
D*Name++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++
D edited S 20A INZ('$******5.27*** ')
D trimmed S 20A varying
D numeric S 15P 3
CL0N01FACTOR1+++++++OPCODE&EXTEXTENDED-FACTOR2+++++++++++++++++++++++++++++
C* // Trim '$' and '*' from the edited numeric value
C* // Note: blanks will not be trimmed, since a blank
C* // is not specified in the 'characters to trim' parameter
C EVAL trimmed = %trim(edited : '$*')
C* // trimmed is now '5.27*** '
C* // Trim '$' and '*' and blank from the edited numeric value
C EVAL trimmed = %trim(edited : '$* ')
C* // trimmed is now '5.27'
C* // Get the numeric value from the edited value
C EVAL numeric = %dec(%trim(edited : '$* ') : 31 : 9)
C* // numeric is now 5.27
%TRIML(先行文字のトリミング)
[一般形式]
%TRIML (string {: characters to trim})
1 つのパラメーターのみが指定された %TRIML は、すべての先行ブランクを除去したうえで、 指定されたストリングを戻します。
2 つのパラメーターが指定された %TRIML は、トリミング対象文字パラメーター で 先行文字を除去したうえで、指定されたストリングを戻します。
このストリングは、文字、図形、また は UCS-2 のどのデータでもかまいません。
トリミング対象文字 パラメーターを指定する場合には、 ストリング・パラメーターと同じタイプを指定する必要があります。
定義仕様書のキーワードのパラメーターとして指定する場合には、ストリング・ パラメーターは定数でなければなりません。
定義キーワードのパラメーターでは、2角パラメーターを使用して%TRIMを指定する事はサポートされません。
_*..1....+....2....+....3....+....4....+....5....+....6....+....7...+....8.
CL0N01FACTOR1+++++++OPCODE&EXTEXTENDED-FACTOR2+++++++++++++++++++++++++++++
C* LOCATION will have the value 'Toronto, Ontario '.
C* // Trimming blanks
C EVAL Location = %triml(' Toronto, Ontario ')
C* // LOCATION now has the value 'Toronto, Ontario '.
C* // Trimming other characters
C EVAL trimmed = %triml('$******5.27*** ' : '$* ')
C* // trimmed is now '5.27*** '
%TRIMR(末尾文字のトリミング)
[一般形式]
%TRIMR (string {: characters to trim})
1 つのパラメーターのみが指定された %TRIMR は、すべての後書きブランクを除去したうえで、 指定されたストリングを戻します。
2 つのパラメーターが指定された %TRIML は、トリミング対象文字パラメーター で 末尾の文字を除去したうえで、指定されたストリングを戻します。
このストリングは、文字、図形、また は UCS-2 のどのデータでもかまいません。
トリミング対象文字 パラメーターを指定する場合には、 ストリング・パラメーターと同じタイプを指定する必要があります。
定義仕様書のキーワードのパラメーターとして指定する場合には、ストリング・ パラメーターは定数でなければなりません。
定義キーワードのパラメーターでは、2角パラメーターを使用して%TRIMRを指定する事はサポートされません。
_*..1....+....2....+....3....+....4....+....5....+....6....+....7...+....8.
D*Name++++++++++ETDsFrom+++To/L+++IDc.Keywords+++++++++++++++++++++++++++++
D Location S 16A varying
D FirstName S 10A inz ('Chris')
D LastName S 10A inz ('Smith')
D Name S 20A varying
CL0N01FACTOR1+++++++OPCODE&EXTEXTENDED-FACTOR2+++++++++++++++++++++++++++++
C* LOCATION will have the value ' Toronto, Ontario'.
C EVAL Location = %trim (' Toronto, Ontario ')
C* // Name will have the value 'Chris Smith:'.
C EVAL Name = %trimr (FirstName) + ' ' + %trimr (LastName) + ':'
C* ブランク以外の文字のトリミング
C EVAL string = '(' + %trimr('$******5.27*** ' : '$*') + ')'
C* // string is now '($******5.27*** )'
C* // Nothing has been trimmed from the right-hand side because
C* // the right-most character is a blank, and a blank does not
C* // appear in the 'characters to trim' parameter
C EVAL string = '(' + %trimr('$******5.27*** ' : '$ *') + ')'
C* // string is now '($******5.27)'