[]
        
(Showing Draft Content)

REGEXREPLACE

要約

REGEXREPLACE 関数を使用すると、指定された正規表現 ("regex") に基づいて、文字列のテキストを別の文字列に置き換えることができます。

構文

=REGEXREPLACE(text, pattern, replacement, [occurrence], [case\_sensitivity])

引数

引数

説明

text

(必須)

文字列または文字列を置き換えるテキストを含むセルへの参照。

pattern

(必須)

置き換えるテキストのパターンを記述する正規表現 ("regex")。

replacement

(必須)

パターンのインスタンスを置き換えるテキスト。

occurrence

パターンに一致したインスタンスの置換箇所を指定します。

0:すべて置き換える(デフォルト)

正の数 N:先頭からN 番目の一致箇所を置き換える

負の数 N:末尾から N 番目の一致箇所を置き換える

case_sensitivity

一致で大文字と小文字が区別されるかどうかを判断します。 既定では、大文字と小文字が区別されます。 次のいずれかを入力します。

0: 大文字と小文字を区別する(デフォルト)

1: 大文字と小文字を区別しない

返り値:置換後の文字列

=REGEXREPLACE("0000abcd","0","1", 2) // 0100abcd
=REGEXREPLACE("0000abcd","0","1", 0) // 1111abcd
=REGEXREPLACE("0000abcd","0","1", -1) // 0001abcd
=REGEXREPLACE("aaaAbcd","a","0", ,0)  // 000Abcd
=REGEXREPLACE("aaaAbcd","a","0", ,1)  // 0000bcd
=REGEXREPLACE("Sonia (378) 555-4195  Brown(878) 555-8622", "[0-9]+-", "***-")  // Sonia (378) ***-4195  Brown(878) ***-8622
=REGEXREPLACE("JamesHenry","([A-Z][a-z]+)([A-Z][a-z]+)","$2, $1")  // Henry, James

type=info

REGEXREPLACE関数はExcelの実装と互換性を保ちながら、従来のSJS.REGEXREPLACE関数を置き換えます。SJS.REGEXREPLACEは非推奨ですが、後方互換性は維持されています。両関数の主な違いは次のとおりです。

機能

REGEXREPLACE

SJS.REGEXREPLACE

引数の型

大文字・小文字の区別には数値(0/1)を使用:

=REGEXREPLACE("aaaAbcd","a","0", ,1)

文字列による修飾子(例:"ig")を使用:

=SJS.REGEXREPLACE("aaaAbcd","a","0","ig")

置換箇所

柔軟な置換箇所指定が可能:

  • 0:すべて置換(デフォルト)

  • 正の数 N:先頭からN 番目の一致箇所を置換

  • 負の数 N:末尾から N 番目の一致箇所を置換

=REGEXREPLACE("aaaAbcd","a","0", 2,1)

=REGEXREPLACE("aaaAbcd","a","0", -3,1)

以下のみ対応:

  • 最初の一致箇所(デフォルト)

  • "g"修飾子指定で全ての一致箇所

複数行の処理

通常の正規表現記法が必要:

=REGEXREPLACE("abc

ABC","\n[A-Z]+","*")

複数行対応のための"m"修飾子に対応:

=SJS.REGEXREPLACE("abc

ABC","^[A-Z]+","*","m")

非文字列入力

すべてのデータ型を受け付ける:

=REGEXREPLACE(2024,24,25)

非文字列入力の場合、#VALUE! を返す