$CHANGE (ObjectScript)
構文
$CHANGE(string,searchstr,replacestr,occurrences,begin)
引数
引数 | 説明 |
---|---|
string | 部分文字列の置換が行われる文字列。有効な文字列または数値に解決される任意の式。 |
searchstr | 置換される部分文字列。有効な文字列または数値に解決される任意の式。 |
replacestr | searchstr の代わりに挿入される部分文字列。有効な文字列または数値に解決される任意の式。 |
occurrences | オプション — searchstr が replacestr に置換される回数を指定する正の整数。省略した場合は、すべてが置換されます。begin と共に使用する場合、occurrences に -1 の値を指定できます。これは、begin のポイントから文字列の最後までのすべての searchstr が置換されることを示します。occurrences は、string 内での出現数より大きな値にできます。 |
begin | オプション — searchstr のどの出現から置換を開始するかを指定する整数。省略した場合、または 0 か 1 を指定した場合、置換は最初に出現する searchstr から開始されます。 |
説明
$CHANGE 関数は、入力文字列の文字列単位の置換で構成される新しい文字列を返します。string で searchstr 部分文字列を検索します。$CHANGE が一致する値を 1 つ以上見つけると、searchstr 部分文字列を replacestr に置換し、結果の文字列を返します。replacestr パラメータ値は、searchstr より長い値も短い値も取ることができます。searchstr 部分文字列を削除するには、replacestr に空文字列 ("") を指定します。
$CHANGE と $REPLACE はどちらも、部分文字列の置換を実行します。どちらも、すべての一致部分文字列、または指定した数の一致部分文字列のみを置換できます。$CHANGE は、searchstr 部分文字列の出現回数に基づいて、置換を開始する場所を特定します。$REPLACE は、string の最初からの文字数に基づいて、置換を開始する場所を特定します。$CHANGE は、置換の実行を開始する場所に関係なく、完全な string (部分文字列の置換を含む) を返します。$REPLACE は、string の文字カウント開始位置からの部分を返します。
$CHANGE を使用すると文字列の長さが変わる場合があるため、ObjectScript %List や %List オブジェクト・プロパティなどのエンコードされた文字列値で $CHANGE を使用しないでください。
$CHANGE、$REPLACE、および $TRANSLATE
$CHANGE と REPLACE は文字列と文字列をマッチングして置換します。これらは、1 つ以上の文字の単一の指定された部分文字列を別の任意の長さの部分文字列に置換できます。$TRANSLATE は文字と文字をマッチングして置換します。$TRANSLATE は、複数の指定された単一文字を対応する単一文字に置換できます。この 3 つの関数はすべて、一致する文字または部分文字列を削除 (NULL に変換) します。
$CHANGE は、常に大文字と小文字を区別します。$REPLACE のマッチングは、既定では大文字と小文字を区別しますが、大文字と小文字を区別しないものとして呼び出すこともできます。$TRANSLATE のマッチングは、常に大文字と小文字を区別します。
$REPLACE と $CHANGE は、マッチングの開始ポイントおよび/または実行する置換の数を指定できます。$REPLACE と $CHANGE では、開始ポイントの定義方法が異なります。$TRANSLATE は常に、ソース文字列内のすべての一致を置換します。