式エディターで文字列関数を使用する方法を説明します。
camelCase
関数は、文字列の各単語の最初の文字を大文字にします。
構文
{%= camelCase(string)%}
例
次の関数は、プロファイルの住所の最初の文字を大文字にします。
{%= camelCase(profile.homeAddress.street) %}
charCodeAt
関数は、JavaScript の charCodeAt 関数と同様に、文字の ASCII 値を返します。文字列と整数(文字の位置を定義する)を入力引数として受け取り、対応する ASCII 値を返します。
構文
{%= charCodeAt(string,int) %}: int
例
次の関数は、o の ASCII 値(111)を返します。
{%= charCodeAt("some", 1)%}
concat
関数は、2 つの文字列を 1 つに結合します。
構文
{%= concat(string,string) %}
例
次の関数は、プロファイルの国と市区町村を 1 つの文字列に組み合わせます。
{%= concat(profile.homeAddress.city,profile.homeAddress.country) %}
contains
関数は、文字列が指定の部分文字列を含んでいるかどうかを判定するために使用されます。
構文
{%= contains(STRING_1, STRING_2, CASE_SENSITIVE) %}
引数 | 説明 |
---|---|
STRING_1 |
チェックの実行対象となる文字列です。 |
STRING_2 |
最初の文字列内で検索する文字列です。 |
CASE_SENSITIVE |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
次の関数は、プロファイルの名に A (大文字または小文字)が含まれているかどうかを確認します。この場合は「true」が返され、そうでない場合は「false」が返されます。
{%= contains(profile.person.name.firstName, "A", false) %}
次のクエリでは、大文字と小文字を区別したうえで、人物のメールアドレスが「2010@gm」という文字列を含んでいるかどうかを判定します。
{%= contains(profile.person.emailAddress,"2010@gm") %}
doesNotContain
関数は、文字列が指定の部分文字列を含んでいないかどうかを判定するために使用されます。
構文
{%= doesNotContain(STRING_1, STRING_2, CASE_SENSITIVE)%}
引数 | 説明 |
---|---|
STRING_1 |
チェックの実行対象となる文字列です。 |
STRING_2 |
最初の文字列内で検索する文字列です。 |
CASE_SENSITIVE |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物のメールアドレスが「2010@gm」という文字列を含んでいないかどうかを判定します。
{%= doesNotContain(profile.person.emailAddress,"2010@gm")%}
doesNotEndWith
関数は、文字列が指定の部分文字列で終わらないかどうかを判定するために使用されます。
構文
{%= doesNotEndWith(STRING_1, STRING_2, CASE_SENSITIVE)%}
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列内で検索する文字列です。 |
{CASE_SENSITIVE} |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物のメールアドレスが「.com」で終わらないかどうかを判定します。
doesNotEndWith(person.emailAddress,".com")
doesNotStartWith
関数は、文字列が指定の部分文字列で始まらないかどうかを判定するために使用されます。
構文
{%= doesNotStartWith(STRING_1, STRING_2, CASE_SENSITIVE)%}
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列内で検索する文字列です。 |
{CASE_SENSITIVE} |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物の名前が「Joe」で始まらないかどうかを判定します。
{%= doesNotStartWith(person.name,"Joe")%}
encode64
関数は、個人情報(PI)を URL などに含める必要がある場合に、個人情報を保持する文字列をエンコードするために使用します。
構文
{%= encode64(string) %}
endsWith
関数は、文字列が指定の部分文字列で終わるかどうかを判定するために使用されます。
構文
{%= endsWith(STRING_1, STRING_2, CASE_SENSITIVE) %}
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列内で検索する文字列です。 |
{CASE_SENSITIVE} |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。使用可能な値:true(デフォルト)または false。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物のメールアドレスが「.com」で終わるかどうかを判定します。
{%= endsWith(person.emailAddress,".com") %}
equals
関数は、文字列が指定の文字列に等しいかどうかを判定するために使用します。
構文
{%= equals(STRING_1, STRING_2) %}
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列と比較する文字列です。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物の名前が「John」かどうかを判定します。
{%=equals(profile.person.name,"John") %}
equalsIgnoreCase
関数は、大文字と小文字を区別せずに、文字列が指定の文字列に等しいかどうかを判定するために使用します。
構文
{%= equalsIgnoreCase(STRING_1, STRING_2) %}
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列と比較する文字列です。 |
例
次のクエリでは、大文字と小文字を区別せずに、名前が「John」かどうかを判定します。
{%= equalsIgnoreCase(profile.person.name,"John") %}
extractEmailDomain
関数は、メールアドレスのドメインを抽出するために使用します。
構文
{%= extractEmailDomain(string) %}
例
次のクエリは、個人のメールアドレスのメールドメインを抽出します。
{%= extractEmailDomain(profile.personalEmail.address) %}
formatCurrency
関数は、2 番目の引数で文字列として渡されたロケールに応じて、任意の数値を対応する言語に依存する通貨表現に変換するために使用します。
構文
{%= formatCurrency(number/double,string) %}: string
例
このクエリは £56.00 を返します
{%= formatCurrency(56L,"en_GB") %}
getUrlHost
関数は、URL のホスト名を取得するために使用されます。
構文
{%= getUrlHost(string) %}: string
例
{%= getUrlHost("https://www.myurl.com/contact") %}
「www.myurl.com」を返します
getUrlPath
関数は、URL のドメイン名の後のパスを取得するために使用されます。
構文
{%= getUrlPath(string) %}: string
例
{%= getUrlPath("https://www.myurl.com/contact.html") %}
「/contact.html」を返します
getUrlProtocol
関数は、URL のプロトコルを取得するために使用されます。
構文
{%= getUrlProtocol(string) %}: string
例
{%= getUrlProtocol("https://www.myurl.com/contact.html") %}
「http」を返します
indexOf
関数は、2 番目のパラメーターが最初に現れる(最初の引数内の)位置を返すために使用されます。一致するものがない場合は「-1」を返します。
構文
{%= indexOf(STRING_1, STRING_2) %}: integer
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初のパラメーターで検索する文字列 |
例
{%= indexOf("hello world","world" ) %}
「6」を返します。
isEmpty
関数は、文字列が空かどうかを判断するために使用します。
構文
{%= isEmpty(string) %}
例
次の関数は、プロファイルの携帯電話番号が空の場合、「true」を返します。それ以外の場合は、「false」を返します。
{%= isEmpty(profile.mobilePhone.number) %}
isNotEmpty
関数は、文字列が空でないかどうかを判定するために使用されます。
構文
{= isNotEmpty(string) %}: boolean
例
次の関数は、プロファイルの携帯電話番号が空の場合、「true」を返します。それ以外の場合は、「false」を返します。
{%= isNotEmpty(profile.mobilePhone.number) %}
lastIndexOf
関数は、2 番目のパラメーターが最後に現れる(最初の引数内の)位置を返すために使用されます。一致するものがない場合は「-1」を返します。
構文
{= lastIndexOf(STRING_1, STRING_2) %}: integer
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初のパラメーターで検索する文字列 |
例
{%= lastIndexOf("hello world","o" ) %}
「7」を返します。
leftTrim
関数は、文字列の先頭から空白を削除するために使用します。
構文
{%= leftTrim(string) %}
length
関数は、文字列または式の文字数を取得するために使用します。
構文
{%= length(string) %}
例
次の関数は、プロファイルの市区町村名の長さを返します。
{%= length(profile.homeAddress.city) %}
like
関数は、文字列が指定のパターンと一致するかどうかを判定するために使用されます。
構文
{%= like(STRING_1, STRING_2) %}
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列列と照合される式です。式の作成に使用できる特殊文字として、% と _ の 2 つがサポートされています。
|
例
次のクエリでは、「es」というパターンを含む住所の市区町村をすべて取得します。
{%= like(profile.homeAddress.city, "%es%")%}
lowerCase
関数は、文字列を小文字に変換します。
構文
{%= lowerCase(string) %}
例
この関数は、プロファイルの名を小文字に変換します。
{%= lowerCase(profile.person.name.firstName) %}
matches
関数は、文字列が特定の正規表現と一致するかどうかを判定するために使用されます。正規表現でのパターンマッチングについて詳しくは、こちらのドキュメントを参照してください。
構文
{%= matches(STRING_1, STRING_2) %}
例
次のクエリでは、大文字と小文字を区別せずに、人の名前が「John」で始まるかどうかを判定します。
{%= matches(person.name.,"(?i)^John") %}
Mask
関数は、文字列の一部を「X」の文字に置き換えるために使用されます。
構文
{%= mask(string,integer,integer) %}
例
次のクエリでは、「123456789」文字列を「X」の文字に置き換えます(最初と最後の 2 文字を除きます)。
{%= mask("123456789",1,2) %}
このクエリは 1XXXXXX89
を返します。
md5
関数は、文字列の md5 ハッシュを計算して返すために使用されます。
構文
{%= md5(string) %}: string
例
{%= md5("hello world") %}
「5eb63bbbe01eeed093cb22bb8f5acdc3」を返します。
notEqualTo
関数は、文字列が指定の文字列に等しくないかどうかを判定するために使用されます。
構文
{%= notEqualTo(STRING_1, STRING_2) %}
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列と比較する文字列です。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物の名前が「John」でないかどうかを判定します。
{%= notEqualTo(profile.person.name,"John") %}
notEqualWithIgnoreCase
関数は、大文字と小文字を区別せずに、2 つの文字列を比較するために使用されます。
構文
{= notEqualWithIgnoreCase(STRING_1,STRING_2) %}: boolean
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列と比較する文字列です。 |
例
次のクエリでは、大文字と小文字を区別せずに、ユーザーの名前が「john」でないかどうかを判定します。
{%= notEqualTo(profile.person.name,"john") %}
Group
関数は、指定された正規表現に基づいて特定の情報を抽出するために使用されます。
構文
{%= regexGroup(STRING, EXPRESSION, GROUP) %}
引数 | 説明 |
---|---|
{STRING} |
チェックの実行対象となる文字列です。 |
{EXPRESSION} |
最初の文字列列と照合する正規表現です。 |
{GROUP} |
照合する式のグループです。 |
例
次のクエリは、メールアドレスからドメイン名を抽出するために使用します。
{%= regexGroup(emailAddress,"@(\\w+)", 1) %}
replace
関数は、文字列内の特定の部分文字列を別の部分文字列で置き換えるために使用します。
構文
{%= replace(STRING_1,STRING_2,STRING_3) %}:string
引数 | 説明 |
---|---|
{STRING_1} |
部分文字列を置き換える必要がある文字列です。 |
{STRING_2} |
置き換える部分文字列。 |
{STRING_3} |
置換する部分文字列。 |
例
{%= replace("Hello John, here is your monthly newsletter!","John","Mark") %}
「Hello Mark, here is your monthly newsletter!」を返します。
replaceAll
関数は、「regex」式に一致するテキストのすべてのサブ文字列を、指定されたリテラルの「replacement」文字列に置き換えるために使用します。正規表現には「\」と「+」の特別な処理があり、すべての正規表現は PQL エスケープ戦略に従います。置換は、文字列の先頭から末尾に向かって行われます。例えば、文字列「aaa」の「aa」を「b」に置き換えると、「ab」ではなく「ba」になります。
構文
{%= replaceAll(string,string,string) %}
2 番目の引数として使用される式が特殊な正規表現文字である場合は、2 つのバックスラッシュ(//
)を使用します。特殊な正規表現文字は次のとおりです:[.、+、*、?、^、$、(、)、[、]、{、}、|、]
詳しくは、Oracleのドキュメントを参照してください。
rightTrim
関数は、文字列の末尾から空白を削除するために使用します。
構文
{%= rightTrim(string) %}
split
関数は、文字列を特定の文字で分割する場合に使用します。
構文
{%= split(string,string) %}
startsWith
関数は、文字列が指定の部分文字列で始まるかどうかを判定するために使用されます。
構文
{%= startsWith(STRING_1, STRING_2, CASE_SENSITIVE) %}
引数 | 説明 |
---|---|
{STRING_1} |
チェックの実行対象となる文字列です。 |
{STRING_2} |
最初の文字列内で検索する文字列です。 |
{CASE_SENSITIVE} |
チェックで大文字と小文字が区別されるかどうかを指定するオプションのパラメーターです。デフォルトでは true に設定されています。 |
例
次のクエリでは、大文字と小文字を区別したうえで、人物の名前が「Joe」で始まるかどうかを判定します。
{%= startsWith(person.name,"Joe") %}
stringToDate
関数は、文字列値を日時値に変換します。 日時の文字列表現とフォーマッターの文字列表現の 2 つの引数を取ります。
構文
{= stringToDate("date-time value","formatter" %}
例
{= stringToDate("2023-01-10 23:13:26", "yyyy-MM-dd HH:mm:ss") %}
string_to_integer
関数は、文字列値を整数値に変換するために使用されます。
構文
{= string_to_integer(string) %}: int
stringToNumber
関数は、文字列を数値に変換するために使用されます。無効な入力の出力と同じ文字列を返します。
構文
{%= stringToNumber(string) %}: double
Count string
関数は、開始インデックスと終了インデックスの間の文字列式の部分文字列を返すために使用されます。
構文
{= substr(string, integer, integer) %}: string
titleCase 関数は、文字列の各単語の最初の文字を大文字にするために使用します。
構文
{%= titleCase(string) %}
例
その人物が「Washington high street」に住んでいる場合、この関数は「Washington high street」を返します。
{%= titleCase(profile.person.location.Street) %}
toBool
関数は、引数の値を、型に応じてブール値に変換するために使用されます。
構文
{= toBool(string) %}: boolean
toDateTime
関数は、文字列を日付型に変換するために使用されます。無効な入力に対する出力として、エポック日付を返します。
構文
{%= toDateTime(string, string) %}: date-time
toDateTimeOnly
関数は、引数の値を日時のみの値に変換するために使用されます。無効な入力に対する出力として、エポック日付を返します。この関数は、文字列、日付、長さおよび整数のフィールドタイプを受け入れます。
構文
{%= toDateTimeOnly(string/date/long/int) %}: date-time
trim 関数は、文字列の先頭と末尾にあるすべての空白を削除します。
構文
{%= trim(string) %}
upperCase 関数は、文字列を大文字に変換します。
構文
{%= upperCase(string) %}
例
この関数は、プロファイルの姓を大文字に変換します。
{%= upperCase(profile.person.name.lastName) %}
urlDecode
関数は、URL エンコードされた文字列をデコードするために使用されます。
構文
{%= urlDecode(string) %}: string
Count only null
関数は、文字列を URL エンコードするために使用されます。
構文
{%= urlEncode(string) %}: string