

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
<a name="expression-string-functions"></a>

Nelle [trasformazioni](transforms.md) e nelle [metriche](metrics.md), è possibile utilizzare le seguenti funzioni per operare sulle stringhe. Per ulteriori informazioni, consulta [Usa le stringhe nelle formule](expression-tutorials.md#use-strings-in-formulas).

**Importante**  
<a name="formula-output-rules"></a>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](#jp-definition) 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](expression-tutorials.md#undefined-values).


| Funzione | Description | 
| --- | --- | 
| `len(s)` | Restituisce la lunghezza della stringa. `s` | 
| `find(s, substring)` | Restituisce l'indice della stringa `substring` nella stringa`s`. | 
| `contains(s, substring)` | Restituisce `1` se la stringa `s` contiene la stringa`substring`, altrimenti`0`. | 
| `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'[JsonPath](https://github.com/json-path/JsonPath)espressione `json_path` e restituisce il risultato.<br />Utilizzate questa funzione per effettuare le seguenti operazioni:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/iot-sitewise/latest/userguide/expression-string-functions.html)<br />Per estrarre un valore di stringa da una struttura JSON e restituirlo come numero, è necessario utilizzare più funzioni annidate`jp`. La `jp` funzione esterna estrae la stringa dalla struttura JSON e la `jp` funzione interna converte la stringa in un numero.<br />La stringa `json_path` deve contenere una stringa letterale. Ciò significa che non `json_path` può essere un'espressione che restituisce una stringa.

**Example 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](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#join-java.lang.CharSequence-java.lang.CharSequence...-)... elements) in Java.

**Example 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)](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-) in Java. Per ulteriori informazioni sui formati supportati, consulta Conversioni in [Class Formatter](https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html) nella *piattaforma Java, Specifiche dell'API Standard Edition 7*.

**Example 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](https://docs.python.org/3/reference/lexical_analysis.html#f-strings).

**Example 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`.

  1. `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')`. | 