FileMaker

お役立ちブログ

ReplaceとSubstituteの違いを理解しよう!

FileMakerを使っていて、文字列の置換をしたいときに候補として出てくるのが「Replace」と「Substitute」。
でも、似たような名前だから どっちを使えばいいの? と悩む人は多いはず。

この記事では、それぞれの違いと使い分けのコツを分かりやすく解説します!

Replace

指定したテキスト内の文字列を置換テキストで置換します。 


構文

Replace (テキスト ; 先頭文字位置 ; 文字数 ; 置換テキスト)

ポイント
→ 位置(start)と長さ(number)で範囲を指定するので、
例えば「先頭3文字だけを置き換える」みたいな使い方が得意。

✅ 例:
Replace(“abcdef”; 2; 3; “XYZ”) → aXYZef

→ 2文字目から3文字分(bcd)を「XYZ」で置き換える。

Substitute

指定したテキスト内のすべての検索テキストの文字列をテキスト内で置換テキストに置換したテキスト文字列を返します。

構文
Substitute (テキスト ; 検索テキスト ; 置換テキスト)

ポイント
→ テキスト内の内容を基準にして置換するので、
例えば「すべてのスペースを削除」や「特定の単語だけを差し替える」に向いている。

✅ 例:
Substitute(“abcabcabc”; “a”; “X”) → XbcXbcXbc

→ すべての「a」を「X」に置き換える。

使い分けまとめ

項目 Replace Substitute
基準 位置と長さ 検索する内容
置換対象 指定位置から指定文字数 指定文字列と一致する箇所すべて
使いどころ 部分的な置換、特定範囲の変更 内容に基づく一括置換、特定ワードの差し替え

💡 使い分けのコツ

  • 位置ベースで部分編集したいとき → Replace
    → 例:電話番号の最初の「0」を「+81」に変える場合、最初の1文字をReplace。

  • 内容ベースでまとめて差し替えたいとき → Substitute
    → 例:文章内のすべての「株式会社」を「(株)」に変えるとき。

✏️ まとめ

ReplaceとSubstituteは、どちらも「置換」する関数だけど、
基準が「位置」か「内容」かで役割が違います。

どっちを使えばいいか迷ったら、
位置の指定が必要? → Replace
特定の文字や単語を探して差し替える? → Substitute
と考えると分かりやすいですよ!

参考:
リファレンス>関数リファレンス>テキスト関数>Replace
https://help.claris.com/archive/fm19/ja/pro-help/content/replace.html

リファレンス>関数リファレンス>テキスト関数>Substitute
https://help.claris.com/archive/fm19/ja/pro-help/content/substitute.html

その他の記事

関数 SortValues について

SortValuesは、指定の値一覧をソートしてくれる関数です。テキスト順、日付順など、希望の順序で値を取り出すことができます。

Middleについて

今回は、フィールドの値を1文字ずつ取り出して配置したい際に活用できる、Middle関数のご紹介です。