%TRIMR(修剪尾随字符)

%TRIMR(string {: characters to trim {: *NATURAL | *STDCHARSIZE}})

只有一个参数的 %TRIMR 返回给定字符串,并除去任何尾部空格。

带有两个参数的 %TRIMR 返回给定字符串,其中包含已除去的 要删除参数 的字符中的任何尾部字符。

该字符串可以是 字符,图形或 UCS-2 数据。

如果指定了要修剪的字符参数,但其类型和 CCSID 与字符串参数不相同,则会转换为字符串参数的类型和 CCSID。

第二个或第三个参数可以是 *NATURAL 或 *STDCHARSIZE ,以覆盖语句的当前 CHARCOUNT 方式。 如果指定了此参数,那么它必须是最后一个参数。

有关 CHARCOUNT 方式影响 %TRIMR 的信息,请参阅 %TRIM with CHARCOUNT NATURAL

当指定为定义规范关键字的参数时,字符串参数必须是常量。
注: 对于 "定义" 关键字的参数,不支持使用两个参数指定 %TRIMR。

有关更多信息,请参阅 字符串操作内置函数

图 1。 %TRIMR 示例
 *..1....+....2....+....3....+....4....+....5....+....6....+....7...+....
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

     // LOCATION will have the value '  Toronto, Ontario'.
     Location = %trimr ('  Toronto, Ontario  ');
     // Name will have the value 'Chris Smith:'.
     Name = %trimr (FirstName) + ' ' + %trimr (LastName) + ':';
图 2。 删除除空格以外的字符
     string = '(' + %trimr('$******5.27***      ' : '$*') + ')';
     // string is now '($******5.27***      )'
     //
     // Nothing has been trimmed from the right-hand side because
     // the right-most character is a blank, and a blank does not
     // appear in the 'characters to trim' parameter

     string = '(' + %trimr('$******5.27***      ' : '$ *') + ')';
     // string is now '($******5.27)'