字符串函数

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功能的更多信息,请阅读 配置文件查询语言概述.

在此页面上