REPLACEBY2 関数

目的

文字式内の一部の文字を文字のペアに置換し、非可変長文字列を返します。

構文

REPLACEBY2 (x, y, z)

パラメーター

x
置換する文字を検索する文字式。
y
置換ペアの値を含む文字式。
z
文字のペアに置換される文字を含む文字式。

説明

REPLACEBY2 は、式 x 内の一部の文字を文字のペアで置換することで生成される非可変長文字列を返します。

x 内の文字が z で見つかった場合、それに対応する文字ペアが結果にコピーされます。それ以外の場合、x 内の文字が結果に直接コピーされます。z に文字が重複して含まれている場合は、最も左にある文字が使用されます。

文字列 y は、文字列 z の 2 倍の長さである必要があります。

foo: proc options(main);

     dcl str char (26);
     dcl t   char(64) var;
     dcl s1 char (4) init('X!P?');
     dcl s2 char (2) init('xp');
     dcl i fixed bin (31);

     dcl c1 char (4) init ('X!P?');
     dcl c2 char (2) init ('xp');
     str = 'xbcxyzghijklmnopqrstuvwxyz';

     if 'a' = 'a'A then
         t = replaceby2 (str, '5821503F'x, '7870'x);
     else
         t = replaceby2 (str, 'E75AD76F'x, 'A797'x);
     put skip list (t);

     t = replaceby2 (str, s1, s2);
     put skip list (t);

end;

制約事項

なし。