字符串函数 - Amazon IoT SiteWise
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

字符串函数

转换指标中,您可以使用以下函数对字符串进行操作。有关更多信息,请参阅在公式中使用字符串

重要

公式表达式只能输出双精度值或字符串值。嵌套表达式可以输出其他数据类型,例如字符串,但整个公式的计算结果必须为数字或字符串。您可以使用 jp 函数将字符串转换为数字。布尔值必须为 1(真)或 0(假)。有关更多信息,请参阅未定义值、无限值和溢出值

函数 描述

len(s)

返回字符串的长度s

find(s, substring)

返回字符串substring中字符串的索引s

contains(s, substring)

1如果字符串s包含该字符串,则返回substring,否则返回0

upper(s)

以大写s形式返回字符串。

lower(s)

以小写s形式返回字符串。

jp(s, json_path)

s使用JsonPath表达式计算字符串json_path并返回结果。

使用此函数执行以下操作:

  • 从序列化的 JSON 结构中提取值、数组或对象。

  • 将字符串转换为数字。例如,公式以数字111形式jp('111', '$')返回。

要从 JSON 结构中提取字符串值并将其作为数字返回,必须使用多个嵌套jp函数。外部jp函数从 JSON 结构中提取字符串,内部jp函数将字符串转换为数字。

该字符串json_path必须包含一个字符串文字。这意味着json_path不能是计算结果为字符串的表达式。

例 示例
  • jp('{"status":"active","value":15}', '$.value') 返回 15

  • jp('{"measurement":{"reading":25,"confidence":0.95}}', '$.measurement.reading') 返回 25

  • jp('[2,8,23]', '$[2]') 返回 23

  • jp('{"values":[3,6,7]}', '$.values[1]') 返回 6

  • jp('111', '$') 返回 111

  • jp(jp('{"measurement":{"reading":25,"confidence":"0.95"}}', '$.measurement.confidence'), '$') 返回 0.95

join(s0, s1, s2, s3, ...)

返回带有一个分隔符的连接字符串。此函数使用第一个输入字符串作为分隔符,并将剩余的输入字符串连接在一起。其行为类似于 Java 中的连接(CharSequence 分隔符, CharSequence... 元素)函数。

例 示例
  • join("-", "aa", "bb", "cc")回报aa-bb-cc

format(expression: "format") 或者 format("format", expression)

返回指定格式的字符串。此函数求值expression为一个值,然后以指定格式返回该值。其行为类似于 Java 中的格式(字符串格式、对象... args)函数。有关支持格式的更多信息,请参阅 Java 平台标准版 7 API 规范Class Formatter 下的转换。

例 示例
  • format(100+1: "d")返回一个整数,101

  • format("The result is %d", 100+1)返回一个字符串,The result is 101

f'expression'

返回连接式的字符串。使用此格式化函数,您可以使用简单的表达式来连接和格式化字符串。这些函数可能包含嵌套表达式。可以使用{}(大括号)对表达式进行插值。其行为类似于 Python 中的格式化字符串文字

例 示例
  • f'abc{1+2: "f"}d' 返回 abc3.000000d。要计算此示例表达式,请执行以下操作:

    1. format(1+2: "f")返回浮点数,3.000000

    2. join('', "abc", 1+2, 'd')返回一个字符串,abc3.000000d

    您也可以用以下方式编写表达式:join('', "abc", format(1+2: "f"), 'd').