

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Utiliser des fonctions de chaîne dans les expressions de formule
<a name="expression-string-functions"></a>

Dans les [transformations](transforms.md) et [les métriques](metrics.md), vous pouvez utiliser les fonctions suivantes pour agir sur des chaînes. Pour de plus amples informations, veuillez consulter [Utiliser des chaînes dans les formules](expression-tutorials.md#use-strings-in-formulas).

**Important**  
<a name="formula-output-rules"></a>Les expressions de formule ne peuvent générer que des valeurs doubles ou des valeurs de chaîne. Les expressions imbriquées peuvent générer d'autres types de données, tels que des chaînes, mais la formule dans son ensemble doit être évaluée à un nombre ou à une chaîne. Vous pouvez utiliser la [fonction jp](#jp-definition) pour convertir une chaîne en nombre. La valeur booléenne doit être 1 (vrai) ou 0 (faux). Pour de plus amples informations, veuillez consulter [Valeurs non définies, infinies et en dépassement](expression-tutorials.md#undefined-values).


| Fonction | Description | 
| --- | --- | 
|  `len(s)`  |  Renvoie la longueur de la chaîne`s`.  | 
|  `find(s, substring)`  |  Renvoie l'index de la chaîne `substring` dans la chaîne`s`.  | 
|  `contains(s, substring)`  |  Renvoie `1` si la chaîne `s` contient la chaîne`substring`, sinon`0`.  | 
|  `upper(s)`  |  Renvoie la chaîne `s` en majuscules.  | 
|  `lower(s)`  |  Renvoie la chaîne `s` en minuscules.  | 
|   `jp(s, json_path)`  |  Évalue la chaîne `s` avec l'[JsonPath](https://github.com/json-path/JsonPath)expression `json_path` et renvoie le résultat. Utilisez cette fonction pour effectuer les opérations suivantes : [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/fr_fr/iot-sitewise/latest/userguide/expression-string-functions.html) Pour extraire une valeur de chaîne d'une structure JSON et la renvoyer sous forme de nombre, vous devez utiliser plusieurs `jp` fonctions imbriquées. La `jp` fonction externe extrait la chaîne de la structure JSON et la `jp` fonction interne convertit la chaîne en nombre. La chaîne `json_path` doit contenir une chaîne littérale. Cela signifie qu'il ne `json_path` peut pas s'agir d'une expression évaluée en chaîne. 

**Example Exemples**  
+ `jp('{"status":"active","value":15}', '$.value')` renvoie `15`.
+ `jp('{"measurement":{"reading":25,"confidence":0.95}}', '$.measurement.reading')` renvoie `25`.
+ `jp('[2,8,23]', '$[2]')` renvoie `23`.
+ `jp('{"values":[3,6,7]}', '$.values[1]')` renvoie `6`.
+ `jp('111', '$')` renvoie `111`.
+ `jp(jp('{"measurement":{"reading":25,"confidence":"0.95"}}', '$.measurement.confidence'), '$')` renvoie `0.95`.  | 
|  `join(s0, s1, s2, s3, ...)`  |  Renvoie une chaîne concaténée avec un délimiteur. Cette fonction utilise la première chaîne d'entrée comme délimiteur et réunit les chaînes d'entrée restantes. Cela se comporte de la même manière que la fonction [join (CharSequence delimiter, CharSequence... elements)](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#join-java.lang.CharSequence-java.lang.CharSequence...-) en Java. 

**Example Exemples**  
+ `join("-", "aa", "bb", "cc")`retours `aa-bb-cc`  | 
|  `format(expression: "format")` ou `format("format", expression)`  |  Renvoie une chaîne au format spécifié. Cette fonction donne `expression` une valeur, puis renvoie la valeur dans le format spécifié. Cela se comporte de la même manière que la fonction [format (String format, Object... args)](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-) en Java. Pour plus d'informations sur les formats pris en charge, consultez la section Conversions sous [Class Formatter](https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html) dans la *plate-forme Java, spécification de l'API Standard Edition 7*. 

**Example Exemples**  
+ `format(100+1: "d")`renvoie une chaîne,`101`.
+ `format("The result is %d", 100+1)`renvoie une chaîne,`The result is 101`.  | 
|  `f'expression'`  |  Renvoie une chaîne concaténée. Avec cette fonction formatée, vous pouvez utiliser une expression simple pour concaténer et formater des chaînes. Ces fonctions peuvent contenir des expressions imbriquées. Vous pouvez utiliser `{}` (accolades) pour interpoler des expressions. Cela se comporte de la même manière que les [littéraux de chaîne formatés en Python](https://docs.python.org/3/reference/lexical_analysis.html#f-strings). 

**Example Exemples**  
+ `f'abc{1+2: "f"}d'` renvoie `abc3.000000d`. Pour évaluer cet exemple d'expression, procédez comme suit :

  1. `format(1+2: "f")`renvoie un nombre à virgule flottante,`3.000000`.

  1. `join('', "abc", 1+2, 'd')`renvoie une chaîne,`abc3.000000d`.

  Vous pouvez également écrire l'expression de la manière suivante :`join('', "abc", format(1+2: "f"), 'd')`.  | 