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
函数用于确定一个字符串是否包含指定的子字符串。
格式
{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功能的更多信息,请阅读 配置文件查询语言概述.