メインコンテンツまでスキップ
メインコンテンツまでスキップ

文字列置換のための関数

一般の文字列関数文字列中を検索するための関数 は別途説明されています。

overlay

文字列 input の一部を別の文字列 replace で置換します。1ベースのインデックス offset から開始します。

構文

パラメータ

  • s: 文字列型 String
  • replace: 文字列型 String
  • offset: 整数型 Int (1ベース)。offset が負の場合、文字列 s の末尾からカウントされます。
  • length: オプション。整数型 Intlength は入力文字列 s 内で置換されるスニペットの長さを指定します。length が指定されていない場合、s から削除されるバイト数は replace の長さに等しくなります。それ以外の場合、length バイトが削除されます。

戻り値

結果:

結果:

overlayUTF8

文字列 input の一部を別の文字列 replace で置換します。1ベースのインデックス offset から開始します。

この関数は、文字列が有効なUTF-8エンコードされたテキストを含むと仮定します。 この仮定が破られた場合、例外はスローされず、結果は未定義です。

構文

パラメータ

  • s: 文字列型 String
  • replace: 文字列型 String
  • offset: 整数型 Int (1ベース)。offset が負の場合、入力文字列 s の末尾からカウントされます。
  • length: オプション。整数型 Intlength は入力文字列 s 内で置換されるスニペットの長さを指定します。length が指定されていない場合、s から削除される文字数は replace の長さに等しくなります。それ以外の場合、length 文字が削除されます。

戻り値

結果:

replaceOne

haystack 内の最初の pattern の出現を replacement 文字列で置換します。

構文

replaceAll

haystack 内のすべての pattern の出現を replacement 文字列で置換します。

構文

エイリアス: replace

replaceRegexpOne

haystack 内の正規表現 pattern に一致する最初の出現を replacement 文字列で置換します。

replacement には置換 \0-\9 を含めることができます。 置換 \1-\9 は最初から第9キャプチャグループ(部分一致)に対応し、置換 \0 は全体の一致に対応します。

pattern または replacement 文字列でそのまま \ キャラクタを使用する場合、エスケープするために \ を使用します。 文字列リテラルには追加のエスケープが必要であることに注意してください。

構文

ISO日付をアメリカ形式に変換:

結果:

文字列を10回コピー:

結果:

replaceRegexpAll

replaceRegexpOne と同様ですが、パターンのすべての出現を置換します。

エイリアス: REGEXP_REPLACE

結果:

例外として、正規表現が空の部分文字列に作用した場合、置換は1回以上行われません。例えば:

結果:

regexpQuoteMeta

正規表現で特別な意味を持つ以下の文字の前にバックスラッシュを追加します: \0, \\, |, (, ), ^, $, ., [, ], ?, *, +, {, :, -

この実装は、re2::RE2::QuoteMeta とは若干異なります。ゼロバイトを \0 でエスケープし、必要な文字のみをエスケープします。 詳細については、RE2 を参照してください。

構文

format

pattern 文字列を、引数にリストされた値(文字列、整数など)でフォーマットし、Python のフォーマットに似ています。パターン文字列には、中括弧 {} で囲まれた置換フィールドを含めることができます。中括弧に含まれていないものはすべてリテラルテキストと見なされ、出力にそのままコピーされます。リテラルの中括弧文字は二重中括弧でエスケープできます: {{ '{{' }}{{ '}}' }}。フィールド名は数字(0から開始)または空のもの(その場合、自動的に単調増加する数字が与えられます)を使用できます。

構文

暗黙の数字を使用した場合:

translate

文字列 s 内の文字を、fromto 文字列によって定義された1対1の文字マッピングを使用して置換します。 fromto は定数のASCII文字列でなければなりません。 fromto のサイズが等しい場合、s 内の最初の first の1文字目の出現は to の1文字目に置き換えられ、first の2文字目の出現は to の2文字目に置き換えられます。
もし fromto よりも多くの文字が含まれている場合、to に対応する文字がない from の末尾のすべての文字の出現が s から削除されます。
s 内の非ASCII文字はこの関数によって変更されません。

構文

結果:

fromto の引数が異なる長さの場合:

結果:

translateUTF8

translate と同様ですが、sfromto は UTF-8 コードされた文字列であると仮定します。

構文

パラメータ

戻り値

クエリ:

printf

printf 関数は、引数にリストされた値(文字列、整数、浮動小数点数など)で指定された文字列をフォーマットします。C++ の printf 関数に似ています。フォーマット文字列には % 文字で始まるフォーマット指定子を含めることができます。 % とその後のフォーマット指定子に含まれないものはすべてリテラルテキストと見なされ、出力にそのままコピーされます。リテラルの % 文字は %% でエスケープできます。

構文

クエリ: