文字列とフォーマット ​

このページは機械翻訳により提供されています。翻訳内容と英語版に相違がある場合は、英語版が優先されます。

変換では、表示名、参照番号、メッセージ本文、またはレポートの行など、データから文字列を作成する必要があることがよくあります。 WELにはそのためのf-stringがあり、通常は連結よりも適切な選択肢です。

_ は、これらの例で式が受け取る入力です。詳細については、入力変数を参照してください。

機能の提供状況

WELは現在、一部のお客様にご利用いただけます。ご利用のワークスペースで利用可能かどうかを確認するには、Customer Success Representativeにお問い合わせください。

文字列リテラル ​

一重引用符と二重引用符は同等です。

Formula結果
'single quotes'single quotes
"double quotes"double quotes

エスケープを避けられる方を選択します。アポストロフィを含む文字列は、二重引用符を使うと最も簡単です:

text
"O'Brien"

文字列はUTF-8であり、lengthはバイト数ではなくコードポイントをカウントします。 WELがテキストをカウントして保存する方法については、データ型を参照してください。

f-stringによる補間 ​

文字列の先頭にfを付けると、その中の{...}が評価され、挿入されます。

Formula結果
f"Order {upper('so-1')} total {1 + 2}"Order SO-1 total 3

値を生成するものはすべて、フィールド、関数呼び出し、算術演算、またはパイプライン全体を含め、中かっこの中に入れることができます:

text
f"{capitalize(_.first_name)} {capitalize(_.last_name)} <{lower(trim(_.email))}>"

++よりf-stringを優先する ​

++では両側の型が一致している必要があるため、混在したデータから作成するメッセージでは、まずすべての要素を変換する必要があります:

text
'Order ' ++ String(_.id) ++ ' has ' ++ String(_.count) ++ ' items'

f-stringは補間時に変換を行い、結果は生成される文のように読み取れます:

text
f"Order {_.id} has {_.count} items"

2つの文字列、または2つのリストを意図的に結合する場合は、++を使用します。

フォーマット仕様 ​

中かっこの中のコロン(:)はフォーマット仕様を追加し、幅、配置、精度を制御します。

Formula結果
f"{3.14159:.2f}"3.14
f"{42:05d}"00042
f"{'nur':>10}" nur

次の表に一般的な形式を示します:

仕様効果
.Nf小数点以下N桁の固定小数点
0Nd先頭にゼロを付けてN桁にパディングされた整数
>N幅Nのフィールドで右揃え
<N幅Nのフィールドで左揃え
^N幅Nのフィールドで中央揃え

無効な仕様は解析時にE016を発生させるため、不正な形式は式が実行される前に検出されます。

フォーマットは丸めではありません

f"{_.total:.2f}"は小数点以下2桁のテキストを生成します。基になる値は丸められず、結果はStringであるため、その後の算術演算には対応していません。

丸めた値を後続の算術演算で使用できるようにするには、まずround_placesで丸めてから、結果をフォーマットします。

パディングと配置 ​

フォーマット仕様でほとんどのケースに対応できます。テンプレート内ではなく値にパディングを適用する場合は、lpadおよびrpadを使用します:

text
lpad(String(_.line_no), 5, '0')

ASCII以外のテキストを含む固定幅出力には、代わりにgrapheme_lpadおよびgrapheme_rpadを使用します。これにより、バイトカウンターではなく読み手にとって列が揃うようになります。

ロケール対応フォーマット ​

人が読む数値、通貨、日付は、手書きのパターンではなくロケールを通して処理する必要があります:

text
f"{_.customer_name}: {to_local_currency(_.total)}"

to_local_currencyとto_local_stringは、Transform Dataアクションで設定されたdata-planeロケールを使用するため、別のリージョン向けに設定されたレシピでも同じ式が正しく機能します。フォーマット関数およびTransform dataアクションを参照してください。

エスケープ ​

文字列をURL、CSVフィールド、クエリ、HTMLなどの別の形式に入れる場合は、値を挿入するときにエスケープします:

text
f"SELECT Id FROM Account WHERE Name = '{escape_for_soql(_.name)}'"

引用符はクエリ構文の一部です。その間の値だけをエスケープします。値を他の形式に安全にエスケープする方法については、エスケープ関数を参照してください。

最終更新日: