関数リファレンス > 関数 > REPLACESTR
  

REPLACESTR

文字列内の文字を1文字、複数の文字または文字なしに置換します。REPLACESTRは、入力文字列から、指定されたすべての文字列を検索し、指定された新しい文字列に置換します。

構文

REPLACESTR ( CaseFlag, InputString, OldString1, [OldString2, ... OldStringN,] NewString )
引数
必須/
オプション
説明
CaseFlag
必須
整数でなければなりません。この関数の引数の大文字と小文字を区別するかどうかを指定します。有効な式を必要に応じて入力できます。
CaseFlagが0以外の数値の場合、大文字と小文字を区別します。
CaseFlagがNULL値または0の場合、大文字と小文字を区別しません。
InputString
必須
文字列でなければなりません。検索したい文字列を渡します。有効な式を必要に応じて入力できます。数値を渡すと、関数はそれを文字列に変換します。
>InputString</>がNULLの場合、REPLACESTRはNULLを返します。
OldString
必須
文字列でなければなりません。置換したい文字列を渡します。最低つの<>OldString</1>引数を入力する必要があります。>OldString</>引数ごとに1文字以上を入力できます。有効な式を必要に応じて入力できます。'abc'のように文字列リテラルを一重引用符で囲んで入力することもできます。
数値を渡すと、関数はそれを文字列に変換します。
複数の<>OldString</>引数があり、1つ以上の<>OldString</>引数がNULLまたは空の場合、REPLACESTRはその<>OldString</>引数を無視します。すべての<>OldString</>引数がNULLまたは空の場合、REPLACESTRは<>InputString</>を返します。
>OldString</>引数の文字列は、関数に指定されている順に置換されます。たとえば、複数の<>OldString</>引数を入力した場合、最初の<>OldString</>引数は2番目の<>OldString</>引数に優先され、2番目の<>OldString</>引数は3番目の<>OldString</>に優先されます。REPLACESTRが文字列を置き換える場合、次に一致する文字列を検索する前に、<>InputString</>内の置き換えられた文字の後ろにカーソルを置きます。詳細については、例を参照してください。
NewString
必須
文字列でなければなりません。1文字、複数の文字、空の文字列、またはNULLを入力できます。有効な式を必要に応じて入力できます。
>NewString</>がNULLまたは空の場合、REPLACESTRは、<>InputString</>内の<>OldString</>をすべて削除します。

戻り値

文字列。
REPLACESTRがInputStringのすべての文字を削除した場合は空の文字列。
InputStringがNULLの場合はNULL。
すべてのOldString引数がNULLまたは空の場合はInputString

次の式は、WEBLOGカラムの各行について、Webログデータから二重引用符と2つの異なるテキスト文字列を削除します。
REPLACESTR( 1, WEBLOG, '"', 'GET ', ' HTTP/1.1', NULL )
WEBLOG
RETURN VALUE
"GET /news/index.html HTTP/1.1"
/news/index.html
"GET /companyinfo/index.html HTTP/1.1"
/companyinfo/index.html
GET /companyinfo/index.html
/companyinfo/index.html
GET
     [empty string]
NULL
NULL
次の式は、TITLEカラムの各行について、ある値のタイトルを変更します。
REPLACESTR ( 1, TITLE, 'rs.', 'iss', 's.' )
TITLE
RETURN VALUE
Mrs.
Ms.
Miss
Ms.
Mr.
Mr.
MRS.
MRS.
次の式は、TITLEカラムの各行について、ある値のタイトルを変更します。
REPLACESTR ( 0, TITLE, 'rs.', 'iss', 's.' )
TITLE
RETURN VALUE
Mrs.
Ms.
MRS.
Ms.
次の式は、REPLACESTR関数が、INPUTカラムの各行について、複数のOldString引数をどのように置換するかを示します。
REPLACESTR ( 1, INPUT, 'ab', 'bc', '*' )
INPUT
RETURN VALUE
abc
*c
abbc
**
abbbbc
*bb*
bc
*
次の式は、REPLACESTR関数が、INPUTカラムの各行について、複数のOldString引数をどのように置換するかを示します。
REPLACESTR ( 1, INPUT, 'ab', 'bc', 'b' )
INPUT
RETURN VALUE
ab
b
bc
b
abc
bc
abbc
bb
abbcc
bbc
OldStringまたはNewStringに一重引用符(')を使用する場合、CHR関数を使用する必要があります。CHRおよびCONCAT関数を使って、一重引用符を文字列に連結することができます。一重引用符は、文字列リテラル内で使用できない唯一の文字です。次の例を検討します。
CONCAT( 'Joan', CONCAT( CHR(39), 's car' ))
戻り値は次のとおりです。
Joan's car
次の式は、INPUTカラムの各行について、一重引用符を含む文字列を変更します。
REPLACESTR ( 1, INPUT, CONCAT('it', CONCAT(CHR(39), 's' )), 'its' )
INPUT
RETURN VALUE
it's
its
mit's
mits
mits
mits
mits'
mits'