文字のストリング

%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)'