文字列の中にある特定の文字列を、別の文字列に置き換えた結果を返します。
使用例
表記例 | 出力例 | 説明 |
---|---|---|
Replace("ABCあいうABCあいうABC","ABC","XYZ") | XYZあいうXYZあいうXYZ | 「ABC」という文字列がすべて「XYZ」に置き換えられます |
Replace("ABCあいうABCあいうABC","ABC","") | あいうあいう | 「ABC」を空文字列に置き換えることにより、「ABC」が取り除かれます |
Replace("ABCあいうABCあいうABC","ABC","XYZ",4) | あいうXYZあいうXYZ | 4番目の引数で開始位置を指定することができます。このとき開始位置より前の文字はそもそも返されませんので注意してください |
Replace("ABCあいうABCあいうABC","ABC","XYZ",1,2) | XYZあいうXYZあいうABC | 5番目の引数で置き換える文字列の数を指定できます。先頭から順に指定した数だけ置き換えられます |
Replace("ABCあいうABCあいうABC","abc","xyz") | xyzあいうxyzあいうxyz | 特に指定しない限り大文字と小文字、全角と半角、ひらがなとカタカナは区別されません(同一視されます) |
Replace("ABCあいうABCあいうABC","abc","xyz",1,-1,0) | ABCあいうABCあいうABC | 6番目の引数0は大文字と小文字、全角と半角、ひらがなとカタカナは区別する(同一視しない)ことを表します。また、5番目の引数-1はみつかった全ての文字列を置き換える(置換回数∞)ことを表します(ABCとabcが区別されるので結果的に置き換えは生じませんが) |
Replace("ABCあいうABCあいうABC","abc","xyz",1,-1,1) | xyzあいうxyzあいうxyz | 6番目の引数1は大文字と小文字、全角と半角、ひらがなとカタカナは区別しない(同一視する)ことを表します。 |
書式
Replace(文字列,置換対象文字列,置換後文字列[,開始位置,置換回数,比較モード])
開始位置より前の文字列はそもそも返されませんので、より正確に表すと(置換開始位置ではなく)文字列の取得開始位置となります。
置換回数を省略するか、-1とすると、見つかったすべての文字列が置き換えられます。比較モードを指定した場合は置換回数を省略できず明示する必要がありますので、見つかったすべての文字列を置き換えるときは-1とします。
比較モードとして指定できる値と意味は次のとおりです。
比較モード | 意味 |
---|---|
-1 | Option Compare ステートメントの設定により比較 |
0 | バイナリモードで比較(大文字と小文字、全角と半角、ひらがなとカタカナは区別する(同一視しない)) |
1 | テキストモードで比較(大文字と小文字、全角と半角、ひらがなとカタカナは区別しない(同一視する)) |
2 | データベースの情報に基づいて比較 |
備考
上記2番目の例のように、文字列を空文字列に置き換えることで取り除くことができ、多用されます。
また、1種類の文字列しか置き換えできませんので、2種類以上の文字列を一括して変換しようとする場合は関数をネストして使う必要があります。