REGEXREPLACE 関数を使用すると、指定された正規表現 ("regex") に基づいて、文字列のテキストを別の文字列に置き換えることができます。
構文
REGEXREPLACE 関数は、パターンに一致する指定されたテキスト内の文字列を置換で置き換えます。
REGEXEXTRACT 関数の構文は次のとおりです。
REGEXREPLACE(text, pattern, replacement, [occurrence], [case_sensitivity])
| 引数 | 説明 |
|---|---|
|
text (必須) |
文字列を置き換えるテキストを含むテキストまたはセルへの参照。 |
|
パターン (必須) |
置き換えるテキストのパターンを記述する正規表現 ("正規表現")。 |
|
交換 (必須) |
パターンのインスタンスを置き換えるテキスト。 |
| 発生 | 置き換えるパターンのインスタンスを指定します。 デフォルトでは、occurrence は 0 で、すべてのインスタンスが置き換えられます。 負の数がそのインスタンスを置き換え、末尾から検索します。 |
| case_sensitivity | 一致で大文字と小文字が区別されるかどうかを決定します。 既定では、一致では大文字と小文字が区別されます。 次のいずれかを入力します。 0: 大文字と小文字を区別する 1: 大文字と小文字を区別しない |
注
正規表現パターンを記述する際には、さまざまな文字と一致する「トークン」と呼ばれる記号を使用できます。 参照用の簡単なトークンを次に示します。
- "[0-9]": 任意の数字
- "[a-z]": A から Z の範囲の文字
- ".": 任意の文字
- "a": "a" 文字
- "a*": ゼロ以上の "a"
- "a+": 1 つ以上の "a"
- この関数のすべての正規表現、および REGEXTEST および REGEXEXTRACT は、正規表現の PCRE2 'flavor' を使用します。
- REGEXEXTRACT は常にテキスト値を返します。 VALUE 関数を使用すると、これらの結果を数値に変換し直すことができます。
使用例
サンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。 必要に応じて、列幅を調整してすべてのデータを表示してください。
使用例 1
REGEXREPLACE を使用して電話番号を匿名化するには、最初の 3 桁の数字を *** に置き換えます。
"[0-9]+-"
| データ |
|---|
| ソニア・リース(378)555-4195 エンジェルブラウン(878) 555-8622 ブレイク・マーティン(437) 555-8987 ウィリアム・カービー(619) 555-4212 エイブリー・スミス(579)555-5658 パーカー・ジョーンズ(346)555-0925 リアム・スモール(405)555-0887 ホリーリース(666)555-1872 |
| 数式 |
| =REGEXREPLACE(A2,"[0-9]+-","***-") |
結果を次の図に示します。 結果に改行を表示するには、セル A4 の文字列を折り返す必要があります。
使用例 2
REGEXREPLACE をキャプチャ グループで使用して、pattern: "([A-Z][a-z]+)([A-Z][a-z]+)";および置換: "$2, $1"。
メモ: キャプチャグループは、かっこ "()" 付きの パターン で定義されており、 置き換え て "$n" として参照できます。 この例では、$1 と $2 はそれぞれ 1 番目と 2 番目のキャプチャ グループを参照しています。
| データ |
|---|
| SoniaBrown |
| 数式 |
| =REGEXREPLACE(A2,"([A-Z][a-z]+)([A-Z][a-z]+)","$2, $1") |
以下の図に、これらの方法を示します。