

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Uso de funciones de cadena en expresiones de fórmula
<a name="expression-string-functions"></a>

En las [transformaciones](transforms.md) y [las métricas](metrics.md), puede utilizar las siguientes funciones para operar con cadenas. Para obtener más información, consulte [Uso de cadenas en fórmulas](expression-tutorials.md#use-strings-in-formulas).

**importante**  
<a name="formula-output-rules"></a>Las expresiones de fórmula solo pueden generar valores dobles o de cadena. Las expresiones anidadas pueden generar otros tipos de datos, como cadenas, pero la fórmula en su conjunto debe evaluarse como un número o una cadena. Puede usar la [función jp](#jp-definition) para convertir una cadena en un número. El valor booleano debe ser 1 (verdadero) o 0 (falso). Para obtener más información, consulte [Valores indefinidos, infinitos y de desbordamiento](expression-tutorials.md#undefined-values).


| Función | Description (Descripción) | 
| --- | --- | 
|  `len(s)`  |  Devuelve la longitud de la cadena `s`.  | 
|  `find(s, substring)`  |  Devuelve el índice de la cadena `substring` en la cadena `s`.  | 
|  `contains(s, substring)`  |  Devuelve `1` si la cadena `s` contiene la cadena `substring`, en caso contrario `0`.  | 
|  `upper(s)`  |  Devuelve la cadena `s` en mayúsculas.  | 
|  `lower(s)`  |  Devuelve la cadena `s` en minúsculas.  | 
|   `jp(s, json_path)`  |  Evalúa la cadena `s` con la [JsonPath](https://github.com/json-path/JsonPath)expresión `json_path` y devuelve el resultado. Utilice esta función para hacer lo siguiente: [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/iot-sitewise/latest/userguide/expression-string-functions.html) Para extraer un valor de cadena de una estructura JSON y devolverlo como un número, debe utilizar varias funciones anidadas `jp`. La función externa `jp` extrae la cadena de la estructura JSON y la función interna `jp` convierte la cadena en un número. La cadena `json_path` debe contener un literal de cadena. Esto significa que `json_path` no puede ser una expresión que se evalúe como cadena. 

**Example Ejemplos**  
+ `jp('{"status":"active","value":15}', '$.value')` devuelve `15`.
+ `jp('{"measurement":{"reading":25,"confidence":0.95}}', '$.measurement.reading')` devuelve `25`.
+ `jp('[2,8,23]', '$[2]')` devuelve `23`.
+ `jp('{"values":[3,6,7]}', '$.values[1]')` devuelve `6`.
+ `jp('111', '$')` devuelve `111`.
+ `jp(jp('{"measurement":{"reading":25,"confidence":"0.95"}}', '$.measurement.confidence'), '$')` devuelve `0.95`.  | 
|  `join(s0, s1, s2, s3, ...)`  |  Devuelve una cadena concatenada con un delimitador. Esta función usa la primera cadena de entrada como delimitador y une las cadenas de entrada restantes. Esto se comporta de forma similar a la función [join (CharSequence delimiter, CharSequence... elements)](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#join-java.lang.CharSequence-java.lang.CharSequence...-) de Java. 

**Example Ejemplos**  
+ `join("-", "aa", "bb", "cc")` devuelve `aa-bb-cc`  | 
|  `format(expression: "format")` o `format("format", expression)`  |  Devuelve una cadena en el formato especificado. Esta función evalúa `expression` como un valor y, a continuación, devuelve el valor en el formato especificado. Esto se comporta de forma similar a la función [format(String format, Object... args)](https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#format-java.lang.String-java.lang.Object...-) de Java. Para obtener más información sobre los formatos compatibles, consulte el apartado Conversions en la sección [Class Formatter](https://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html) de la *plataforma Java, edición estándar 7, especificación de API*. 

**Example Ejemplos**  
+ `format(100+1: "d")` devuelve una cadena, `101`.
+ `format("The result is %d", 100+1)` devuelve una cadena, `The result is 101`.  | 
|  `f'expression'`  |  Devuelve una cadena concatenada. Con esta función formateada, puede utilizar una expresión sencilla para concatenar y formatear cadenas. Estas funciones pueden contener expresiones anidadas. Puede utilizar `{}` (corchetes) para interpolar expresiones. Esto se comporta de forma similar a los [literales de cadena formateados](https://docs.python.org/3/reference/lexical_analysis.html#f-strings) de Python. 

**Example Ejemplos**  
+ `f'abc{1+2: "f"}d'` devuelve `abc3.000000d`. Para evaluar esta expresión de ejemplo, haga lo siguiente:

  1. `format(1+2: "f")` devuelve un número de punto flotante, `3.000000`.

  1. `join('', "abc", 1+2, 'd')` devuelve una cadena, `abc3.000000d`.

  También puede escribir la expresión de la siguiente manera: `join('', "abc", format(1+2: "f"), 'd')`.  | 