Verwenden Sie Zeichenkettenfunktionen in Formelausdrücken - AWS IoT SiteWise

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Verwenden Sie Zeichenkettenfunktionen in Formelausdrücken

In Transformationen und Metriken können Sie die folgenden Funktionen verwenden, um mit Zeichenketten zu arbeiten. Weitere Informationen finden Sie unter Verwenden Sie Zeichenketten in Formeln.

Wichtig

Formelausdrücke können nur Doppel- oder Zeichenkettenwerte ausgeben. Verschachtelte Ausdrücke können andere Datentypen ausgeben, z. B. Zeichenfolgen, aber die Formel als Ganzes muss eine Zahl oder Zeichenfolge ergeben. Sie können die Funktion jp verwenden, um eine Zeichenfolge in eine Zahl umzuwandeln. Der boolesche Wert muss 1 (wahr) oder 0 (falsch) sein. Weitere Informationen finden Sie unter Undefinierte, unendliche und Überlaufwerte.

Funktion Beschreibung

len(s)

Gibt die Länge der Zeichenfolge zurück. s

find(s, substring)

Gibt den Index der Zeichenfolge substring in der Zeichenfolge zurücks.

contains(s, substring)

Gibt zurück1, ob die Zeichenfolge die Zeichenfolge s enthältsubstring, andernfalls0.

upper(s)

Gibt die Zeichenfolge s in Großbuchstaben zurück.

lower(s)

Gibt die Zeichenfolge s in Kleinbuchstaben zurück.

jp(s, json_path)

Wertet die Zeichenfolge s mit dem JsonPathAusdruck aus json_path und gibt das Ergebnis zurück.

Verwenden Sie diese Funktion, um Folgendes zu tun:

  • Extrahieren Sie einen Wert, ein Array oder ein Objekt aus einer serialisierten JSON Struktur.

  • Konvertiert eine Zeichenfolge in eine Zahl. Die Formel jp('111', '$') gibt 111 beispielsweise eine Zahl zurück.

Um einen Zeichenkettenwert aus einer JSON Struktur zu extrahieren und ihn als Zahl zurückzugeben, müssen Sie mehrere verschachtelte jp Funktionen verwenden. Die äußere jp Funktion extrahiert die Zeichenfolge aus der JSON Struktur, und die innere jp Funktion konvertiert die Zeichenfolge in eine Zahl.

Die Zeichenfolge json_path muss ein Zeichenkettenliteral enthalten. Das bedeutet, dass es json_path sich nicht um einen Ausdruck handeln kann, der zu einer Zeichenfolge ausgewertet wird.

Beispiele
  • jp('{"status":"active","value":15}', '$.value') gibt 15 zurück.

  • jp('{"measurement":{"reading":25,"confidence":0.95}}', '$.measurement.reading') gibt 25 zurück.

  • jp('[2,8,23]', '$[2]') gibt 23 zurück.

  • jp('{"values":[3,6,7]}', '$.values[1]') gibt 6 zurück.

  • jp('111', '$') gibt 111 zurück.

  • jp(jp('{"measurement":{"reading":25,"confidence":"0.95"}}', '$.measurement.confidence'), '$') gibt 0.95 zurück.

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

Gibt eine verkettete Zeichenfolge mit einem Trennzeichen zurück. Diese Funktion verwendet die erste Eingabezeichenfolge als Trennzeichen und verbindet die verbleibenden Eingabezeichenfolgen miteinander. Dies verhält sich ähnlich wie die Funktion join (CharSequence delimiter, CharSequence... elements) in Java.

Beispiele
  • join("-", "aa", "bb", "cc")gibt zurück aa-bb-cc

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

Gibt eine Zeichenfolge im angegebenen Format zurück. Diese Funktion ergibt expression einen Wert und gibt den Wert dann im angegebenen Format zurück. Dies verhält sich ähnlich wie die Funktion format (String-Format, Object... args) in Java. Weitere Informationen zu unterstützten Formaten finden Sie unter Konvertierungen unter Class Formatter in der Spezifikation Java Platform, Standard Edition 7. API

Beispiele
  • format(100+1: "d")gibt eine Zeichenfolge zurück,101.

  • format("The result is %d", 100+1)gibt eine Zeichenfolge zurück,The result is 101.

f'expression'

Gibt eine verkettete Zeichenfolge zurück. Mit dieser formatierten Funktion können Sie einen einfachen Ausdruck verwenden, um Zeichenketten zu verketten und zu formatieren. Diese Funktionen können verschachtelte Ausdrücke enthalten. Sie können {} (geschweifte Klammern) verwenden, um Ausdrücke zu interpolieren. Dies verhält sich ähnlich wie die formatierten Zeichenkettenliterale in Python.

Beispiele
  • f'abc{1+2: "f"}d' gibt abc3.000000d zurück. Gehen Sie wie folgt vor, um diesen Beispielausdruck auszuwerten:

    1. format(1+2: "f")gibt eine Fließkommazahl zurück,3.000000.

    2. join('', "abc", 1+2, 'd')gibt eine Zeichenfolge zurück,abc3.000000d.

    Sie können den Ausdruck auch auf folgende Weise schreiben:join('', "abc", format(1+2: "f"), 'd').