パターンマッチングの置換を実行します。
カテゴリ: | 文字列マッチング |
制限事項: | PRXPARSE関数とともに使用します。 |
このCALLルーチンに必要なPRXPARSE関数にDBCSとの互換性がないため、DBCSおよびMBCSデータの処理にこの関数を使用しないでください。 | |
操作: | %SYSCALLマクロステートメントで呼び出されると、CALL PRXCHANGEの引数から引用符が削除されます。詳細については、 CALLルーチンと%SYSCALLマクロステートメントを使用する を参照してください。 |
PRXPARSE関数によって返されるパターン識別子の値が含まれる数値変数を指定します。
一致を検索して一致するパターンを置換する回数を指定する数値の定数、変数または式です。
ヒント | timesの値が-1の場合、一致するすべてのパターンが置換されます。 |
検索と置換を実行する文字式を指定します。
ヒント | new-string引数を使用しない場合、old-stringにすべての変更が加えられます。 |
old-stringへの変更の結果を挿入する文字変数を指定します。
ヒント | PRXCHANGEルーチンの呼び出しでnew-string引数を使用した場合、old-stringは変更されません。 |
結果にコピーされる文字数の戻り値が含まれる数値変数です。
ヒント | old-stringの値の末尾の空白はnew-stringにコピーされないため、result-lengthの長さには含まれません。 |
変更処理の結果に応じて、0または1の戻り値が含まれる数値変数です。
0 | 置換の結果全体の長さがnew-stringの長さ以下の場合。 |
1 | 置換の結果全体の長さがnew-stringの長さを超える場合。 |
実行された置換の合計数の戻り値が含まれる数値変数です。new-stringに挿入されるときに結果が切り捨てられた場合、number-of-changesの値は変更されません。
data _null_;
/* Use a pattern to replace all occurrences of cat, */
/* rat, or bat with the value TREE. */
length text $ 46;
RegularExpressionId = prxparse('s/[crb]at/tree/');
text = 'The woods have a bat, cat, bat, and a rat!';
/* Use CALL PRXCHANGE to perform the search and replace. */
/* Because the argument times has a value of -1, the */
/* replacement is performed as many times as possible. */
call prxchange(RegularExpressionId, -1, text);
put text;
run;
The woods have a tree, tree, tree, and a tree!