Usa le funzioni di stringa nelle espressioni delle formule - AWS IoT SiteWise

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Usa le funzioni di stringa nelle espressioni delle formule

Nelle trasformazioni e nelle metriche, è possibile utilizzare le seguenti funzioni per operare sulle stringhe. Per ulteriori informazioni, consulta Usa stringhe nelle formule.

Importante

Le espressioni di formule possono generare solo valori doppi o stringhe. Le espressioni annidate possono generare altri tipi di dati, ad esempio stringhe, ma la formula nel suo insieme deve restituire un numero o una stringa. È possibile utilizzare la funzione jp per convertire una stringa in un numero. Il valore booleano deve essere 1 (vero) o 0 (falso). Per ulteriori informazioni, consulta Valori indefiniti, infiniti e di overflow.

Funzione Descrizione

len(s)

Restituisce la lunghezza della stringa. s

find(s, substring)

Restituisce l'indice della stringa substring nella stringas.

contains(s, substring)

Restituisce 1 se la stringa s contiene la stringasubstring, altrimenti0.

upper(s)

Restituisce la stringa s in formato maiuscolo.

lower(s)

Restituisce la stringa s in formato minuscolo.

jp(s, json_path)

Valuta la stringa s con l'JsonPathespressione json_path e restituisce il risultato.

Utilizzate questa funzione per effettuare le seguenti operazioni:

  • Estrarre un valore, un array o un oggetto da una JSON struttura serializzata.

  • Converte una stringa in un numero. Ad esempio, la formula viene jp('111', '$') restituita 111 come numero.

Per estrarre un valore di stringa da una JSON struttura e restituirlo come numero, è necessario utilizzare più jp funzioni annidate. La jp funzione esterna estrae la stringa dalla JSON struttura e la jp funzione interna converte la stringa in un numero.

La stringa json_path deve contenere una stringa letterale. Ciò significa che non json_path può essere un'espressione che restituisce una stringa.

Esempio Esempi
  • jp('{"status":"active","value":15}', '$.value') restituisce 15.

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

  • jp('[2,8,23]', '$[2]') restituisce 23.

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

  • jp('111', '$') restituisce 111.

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

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

Restituisce una stringa concatenata con un delimitatore. Questa funzione utilizza la prima stringa di input come delimitatore e unisce le stringhe di input rimanenti. Si comporta in modo simile alla funzione join (CharSequence delimiter, CharSequence... elements) in Java.

Esempio Esempi
  • join("-", "aa", "bb", "cc")restituisce aa-bb-cc

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

Restituisce una stringa nel formato specificato. Questa funzione restituisce expression un valore e quindi restituisce il valore nel formato specificato. Si comporta in modo simile alla funzione format (String format, Object... args) in Java. Per ulteriori informazioni sui formati supportati, vedere Conversioni in Class Formatter nella piattaforma Java, specifica Standard Edition 7. API

Esempio Esempi
  • format(100+1: "d")restituisce una stringa,. 101

  • format("The result is %d", 100+1)restituisce una stringa,The result is 101.

f'expression'

Restituisce una stringa concatenata. Con questa funzione formattata, è possibile utilizzare un'espressione semplice per concatenare e formattare stringhe. Queste funzioni possono contenere espressioni annidate. È possibile utilizzare {} (parentesi graffe arricciate) per interpolare le espressioni. Si comporta in modo simile alle stringhe letterali formattate in Python.

Esempio Esempi
  • f'abc{1+2: "f"}d' restituisce abc3.000000d. Per valutare questa espressione di esempio, procedi come segue:

    1. format(1+2: "f")restituisce un numero in virgola mobile,3.000000.

    2. join('', "abc", 1+2, 'd')restituisce una stringa,abc3.000000d.

    Puoi anche scrivere l'espressione nel modo seguente:join('', "abc", format(1+2: "f"), 'd').