字串函數 - AWS IoT SiteWise

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

字串函數

In變換指標,您可以使用下列函數來對字符串進行操作。如需詳細資訊,請參閱 在公式中使用字符串

重要

公式表達式只能輸出雙精度值或字符串值。嵌套表達式可以輸出其他數據類型,如字符串,但公式作為一個整體必須計算為數字或字符串。您可以使用jp 函數將字符串轉換為數字。布爾值必須是 1 (true) 或 0 (false)。如需詳細資訊,請參閱 未定義、無限和溢出值

函數 Description (描述)

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 結構中提取值、數組或對象。

  • 將字符串轉換為數字。例如,公式jp('111', '$')返回111作為數字。

要從 JSON 結構中提取字符串值並將其作為數字返回,您必須使用多個嵌套jp函數。OUTER OFjp函數從 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 中的函數。

範例

  • join("-", "aa", "bb", "cc")返回aa-bb-cc

format(expression: "format")format("format", expression)

返回指定格式的字符串。此函數評估expression設置為一個值,然後以指定格式返回值。這種行為類似於格式(字符串格式、對象... 參數)Java 中的函數。如需支援格式的詳細資訊,請參類別格式化程序中的Java 平台,標準版 7 API 規範

範例

  • 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')