字符串函数

Profile Query Language (PQL)提供了一些函数,可简化与字符串的交互。 有关其他PQL函数的更多信息,请参阅 Profile Query Language 概述.

like 函数来确定字符串是否与指定的模式匹配。

格式

{STRING_1} like {STRING_2}
参数 描述
{STRING_1} 要执行检查的字符串。
{STRING_2} 要与第一个字符串匹配的表达式。 创建表达式时,有两个受支持的特殊字符: %_.
  • % 用于表示零个或多个字符。
  • _ 仅用于表示一个字符。

示例

以下PQL查询可检索包含模式“es”的所有城市。

city like "%es%"

开始于

startsWith 函数来确定字符串是否以指定的子字符串开头。

格式

{STRING_1}.startsWith({STRING_2}, {BOOLEAN})
参数 描述
{STRING_1} 要执行检查的字符串。
{STRING_2} 要在第一个字符串中搜索的字符串。
{BOOLEAN} 用于确定检查是否区分大小写的可选参数。 默认情况下,此参数设置为true。

示例

以下PQL查询区分大小写,确定人员姓名以“Joe”开头。

person.name.startsWith("Joe")

开头不为

doesNotStartWith 函数来确定字符串是否不以指定的子字符串开头。

格式

{STRING_1}.doesNotStartWith({STRING_2}, {BOOLEAN})
参数 描述
{STRING_1} 要执行检查的字符串。
{STRING_2} 要在第一个字符串中搜索的字符串。
{BOOLEAN} 用于确定检查是否区分大小写的可选参数。 默认情况下,此参数设置为true。

示例

以下PQL查询会区分大小写地确定人员姓名不以“Joe”开头。

person.name.doesNotStartWith("Joe")

结束于

endsWith 函数来确定字符串是否以指定的子字符串结尾。

格式

{STRING_1}.endsWith({STRING_2}, {BOOLEAN})
参数 描述
{STRING_1} 要执行检查的字符串。
{STRING_2} 要在第一个字符串中搜索的字符串。
{BOOLEAN} 用于确定检查是否区分大小写的可选参数。 默认情况下,此参数设置为true。

示例

以下PQL查询会区分大小写地确定人员的电子邮件地址是否以“.com”结尾。

person.emailAddress.endsWith(".com")

不以结尾

doesNotEndWith 函数来确定字符串是否不以指定的子字符串结尾。

格式

{STRING_1}.doesNotEndWith({STRING_2}, {BOOLEAN})
参数 描述
{STRING_1} 要执行检查的字符串。
{STRING_2} 要在第一个字符串中搜索的字符串。
{BOOLEAN} 用于确定检查是否区分大小写的可选参数。 默认情况下,此参数设置为true。

示例

以下PQL查询会区分大小写地确定人员的电子邮件地址是否以“.com”结尾。

person.emailAddress.doesNotEndWith(".com")

Contains

contains 函数来确定字符串是否包含指定的子字符串。

格式

{STRING_1}.contains({STRING_2}, {BOOLEAN})
参数 描述
{STRING_1} 要执行检查的字符串。
{STRING_2} 要在第一个字符串中搜索的字符串。
{BOOLEAN} 用于确定检查是否区分大小写的可选参数。 默认情况下,此参数设置为true。

示例

以下PQL查询区分大小写地确定人员的电子邮件地址是否包含字符串“2010@gm”。

person.emailAddress.contains("2010@gm")

不包含

doesNotContain 函数来确定字符串是否不包含指定的子字符串。

格式

{STRING_1}.doesNotContain({STRING_2}, {BOOLEAN})
参数 描述
{STRING_1} 要执行检查的字符串。
{STRING_2} 要在第一个字符串中搜索的字符串。
{BOOLEAN} 用于确定检查是否区分大小写的可选参数。 默认情况下,此参数设置为true。

示例

以下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功能的更多信息,请阅读 用户档案查询语言概述.

在此页面上