

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