REPLCHARSファンクションは、テキスト式の1文字以上を置換します。
ヒント: マルチバイト・キャラクタ・セットを使用している場合、REPLCHARSファンクションのかわりにREPLBYTESファンクションを使用できます。また、CHANGECHARSファンクションを使用すると、テキスト値に指定の文字列が1つ以上存在する場合、その文字列を別の文字列に変更できます。 |
戻り値
TEXTまたはNTEXT
このファンクションでは、TEXT値とNTEXT値を引数として使用できます。戻り値のデータ型は、引数として指定する値のデータ型によって次のように異なります。
すべての引数がTEXT値である場合、戻り値はTEXTです。
すべての引数がNTEXT値である場合、戻り値はNTEXTです。
引数にTEXTとNTEXTの両方の値が存在する場合は、すべてのTEXT値がNTEXT値に変換されてからファンクションの演算が実行され、戻り値はNTEXTになります。
パラメータ
置換される文字が含まれる式。text-expressionから置換される文字に埋込みの改行が含まれる場合、これらの改行は削除されます。その他の改行は維持されます。削除された改行の数は、置換された文字数の合計にはカウントされません。置換された式の改行も、REPLCHARSの出力には保持されますが、カウントの対象にはなりません。
text-expressionの既存の文字を置換する1文字以上の文字が含まれるテキスト式。
文字の置換を開始する文字位置を表すINTEGER
。text-expressionの最初の文字の位置は1
です。この引数を省略した場合、REPLCHARSは最初の文字から開始します。REPLCHARSは、指定した新規のcharactersに対して必要な文字数のtext-expressionを置換します。startの値がtext-expressionの長さより大きい場合、REPLCHARSは単にtext-expressionを返します。
例
例8-78 テキスト文字の置換
この例は、テキスト値Hello there, Joe
の一部を置換する方法を示します。
次の文
SHOW REPLCHARS('Hello there, Joe', 'Jane', 14)
によって、次の出力が生成されます。
Hello there, Jane
例8-79 REPLCHARSによる改行の処理
この例は、REPLCHARSによって改行が保持されて無視されることを示します。
var1 = JOINLINES('Hello' 'there' 'Joe') var2 = JOINLINES('Hi' 'Jane')
次の文
show REPLCHARS(var1 var2)
によって、次の出力が生成されます。
Hi Janehere Joe
REPLCHARSは、var1
の先頭の6文字(HellothereJoe
のHellot
)をvar2
の6文字(HiJane
)に置換しました。var2
のHi
およびvar1
のthere
の後の改行は保持されます。
var1
の13文字をすべて置換するには、置換後の文字を13文字に指定する必要があります。たとえば、Jane
の後に7つの空白を追加します。
var2 = JOINLINES('Hi' 'Jane ')
次の文
SHOW REPLCHARS(var1 var2)
によって、次の出力が生成されます。
Hi Jane