文字列関数
Profile Query Language (PQL)は、文字列との相互作用をシンプルにする関数を提供します。 その他のPQL関数について詳しくは、Profile Query Language 概要を参照してください。
類似
like関数は、文字列が指定されたパターンとブール値として一致するかどうかを判断するために使用されます。
形式
{STRING_1} like {STRING_2}
{STRING_1}{STRING_2}最初の文字列列と照合される式です。 式の作成に使用できる特殊文字として、% と _ の 2 つがサポートされています。
%は、0 個以上の文字を表すために使用されます。_は、1 文字を表すために使用されます。
例
次の PQL クエリでは、「es」というパターンを含むすべての市区町村を取得します。
city like "%es%"
次で始まる
startsWith関数は、文字列が指定された部分文字列で始まるかどうかをブール値として判断するために使用されます。
形式
{STRING_1}.startsWith({STRING_2}, {BOOLEAN})
{STRING_1}{STRING_2}{BOOLEAN}例
次の PQL クエリでは、大文字と小文字を区別したうえで、人の名前が「Joe」で始まるかどうかを判定します。
person.name.startsWith("Joe")
次で始まらない
doesNotStartWith関数は、文字列が指定された部分文字列で始まらないかどうかをブール値として判断するために使用されます。
形式
{STRING_1}.doesNotStartWith({STRING_2}, {BOOLEAN})
{STRING_1}{STRING_2}{BOOLEAN}例
次の PQL クエリでは、大文字と小文字を区別したうえで、人の名前が「Joe」で始まらないかどうかを判断します。
person.name.doesNotStartWith("Joe")
次で終わる
endsWith関数は、文字列が指定された部分文字列で終わるかどうかをブール値として判断するために使用されます。
形式
{STRING_1}.endsWith({STRING_2}, {BOOLEAN})
{STRING_1}{STRING_2}{BOOLEAN}例
次の PQL クエリでは、大文字と小文字を区別したうえで、人のメールアドレスが「.com」で終わるかどうかを判定します。
person.emailAddress.endsWith(".com")
次で終わらない
doesNotEndWith関数は、文字列が指定された部分文字列で終わらないかどうかをブール値として判断するために使用されます。
形式
{STRING_1}.doesNotEndWith({STRING_2}, {BOOLEAN})
{STRING_1}{STRING_2}{BOOLEAN}例
次の PQL クエリでは、大文字と小文字を区別したうえで、人のメールアドレスが「.com」で終わらないかどうかを判定します。
person.emailAddress.doesNotEndWith(".com")
次を含む
contains関数は、文字列に指定された部分文字列がブール値として含まれているかどうかを判断するために使用されます。
形式
{STRING_1}.contains({STRING_2}, {BOOLEAN})
{STRING_1}{STRING_2}{BOOLEAN}例
次の PQL クエリでは、大文字と小文字を区別したうえで、人のメールアドレスが「2010@gm」という文字列を含んでいるかどうかを判定します。
person.emailAddress.contains("2010@gm")
次を含まない
doesNotContain関数は、文字列にブール値として指定された部分文字列が含まれていないかどうかを判断するために使用されます。
形式
{STRING_1}.doesNotContain({STRING_2}, {BOOLEAN})
{STRING_1}{STRING_2}{BOOLEAN}例
次の PQL クエリでは、大文字と小文字を区別したうえで、人のメールアドレスが「2010@gm」という文字列を含んでいないかどうかを判定します。
person.emailAddress.doesNotContain("2010@gm")
次に等しい
equals関数は、文字列が指定された文字列と等しいかどうかをブール値として判断するために使用されます。
形式
{STRING_1}.equals({STRING_2})
{STRING_1}{STRING_2}例
次の PQL クエリでは、大文字と小文字を区別したうえで、人の名前が「John」かどうかを判定します。
person.name.equals("John")
次と等しくない
notEqualTo関数は、文字列が指定された文字列とブール値に等しくないかどうかを判断するために使用されます。
形式
{STRING_1}.notEqualTo({STRING_2})
{STRING_1}{STRING_2}例
次の PQL クエリでは、大文字と小文字を区別したうえで、人の名前が「John」でないかどうかを判定します。
person.name.notEqualTo("John")
一致
matches 関数は、文字列が特定の正規表現と一致するかどうかを判定するために使用されます。 正規表現のパターンをブール値として一致させる方法について詳しくは、このドキュメント を参照してください。
形式
{STRING_1}.matches(STRING_2})
例
次の PQL クエリでは、大文字と小文字を区別せずに、人の名前が「John」で始まるかどうかを判定します。
person.name.matches("(?i)^John")
\wなどの正規表現関数を使用している場合、はバックスラッシュ文字を エスケープする必要があります。 したがって、\wだけを書く代わりに、追加のバックスラッシュを含めて\\wを書く必要があります。正規表現グループ
regexGroup関数は、文字列として指定された正規表現に基づいて、特定の情報を抽出するために使用されます。
形式
{STRING}.regexGroup({EXPRESSION})
例
次の PQL クエリは、メールアドレスからドメイン名を抽出するために使用します。
emailAddress.regexGroup("@(\\w+)", 1)
\wなどの正規表現関数を使用している場合、はバックスラッシュ文字を エスケープする必要があります。 したがって、\wだけを書く代わりに、追加のバックスラッシュを含めて\\wを書く必要があります。次の手順
ここで学習した文字列関数は、PQL クエリ内で使用できます。 その他の PQL 関数について詳しくは、プロファイルクエリ言語の概要を参照してください。