# TextBetween Función de script y de gráfico

TextBetween() devuelve el texto de la cadena de entrada que se da entre los caracteres especificados como delimitadores.

Sintaxis:

TextBetween(text, delimiter1, delimiter2[, n])

Tipo de datos que devuelve: cadena

Argumentos

| Argumento | Descripción |
| --- | --- |
| text | La cadena original. |
| delimiter1 | Especifica el primer carácter delimitador (o cadena) que buscar en text. |
| delimiter2 | Especifica el segundo carácter delimitador (o cadena) que buscar en text. |
| n | Define entre qué aparición del par delimitador se ha de buscar. Por ejemplo, un valor de 2 devuelve los caracteres entre la segunda instancia de delimiter1 y la segunda instancia de delimiter2. |

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `TextBetween( '<abc>',  			'<', '>' )` | Devuelve `abc` |
| `TextBetween( '<abc><de>',   '<', '>',2 )` | Devuelve `de` |
| `TextBetween( 'abc', '<', '>' )` | Devuelve `NULL`<br><br>Si alguno de los delimitadores no se encuentra en la cadena, se devuelve `NULL`. |
| `TextBetween( '<a<b', '<', '>' )` | Devuelve `NULL`<br><br>Si alguno de los delimitadores no se encuentra en la cadena, devuelve `NULL`. |
| `TextBetween( '<>',  			'<', '>' )` | Devuelve una cadena de longitud cero. |
| `TextBetween( '<abc>',  			'<', '>', 2 )` | Devuelve `NULL`, ya que n es mayor que el número de instancias de los delimitadores. |

## Ejemplo: fundamentos de TextBetween

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/TextBetween.htm)

#### Expresión de gráfico

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Un campo de la tabla de datos llamado `InputText`.

Script de carga

```
Example:
Load * inline [
InputText,
<abc><de>
<def><ghi><jk>
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue este campo como dimensión:

* ` InputText
                                   `

Cree las siguientes dimensiones calculadas:

* `=TextBetween(InputText,'<','>')`, para calcular la primera instancia de los caracteres que aparecen entre los delimitadores `'<'` y `'>'`, en el campo `InputText`.

* `=TextBetween(InputText,'<','>',2)`, para calcular la segunda instancia de los caracteres que aparecen entre los delimitadores `'<'` y `'>'`, en el campo `InputText`.

Results table

| InputText | TextBetween(InputText,'&lt;','&gt;') | TextBetween(InputText,'&lt;','&gt;',2) |
| --- | --- | --- |
| &lt;abc&gt;&lt;de&gt; | abc | de |
| &lt;def&gt;&lt;ghi&gt;&lt;jkl&gt; | def | ghi |

En la primera dimensión calculada, el resultado de la función `TextBetween` devuelve la primera instancia de los caracteres que aparecen entre los delimitadores `'<'` y `'>'`. Por ejemplo, la fila 1 devuelve `abc`. La segunda dimensión calculada tiene un argumento `n` de `2`, por lo que el resultado de salida devuelve la segunda instancia de los caracteres que aparecen entre los delimitadores `'<'` y `'>'`. Por ejemplo, la fila 1 devuelve `de`.

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/TextBetween.htm)

#### Script de carga

El siguiente código muestra cómo utilizar la función en un script de carga.

```
Load *,
textbetween(Text,'<','>') as TextBetween,
textbetween(Text,'<','>',2) as SecondTextBetween;
Load * inline [
Text
<abc><de>
<def><ghi><jkl>];
```

Tabla de resultados

| Texto | TextBetween | SecondTextBetween |
| --- | --- | --- |
| &lt;abc&gt;&lt;de&gt; | abc | de |
| &lt;def&gt;&lt;ghi&gt;&lt;jkl&gt; | def | ghi |

## Ejemplo: uso de TextBetween

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/TextBetween.htm)

#### Expresión de gráfico

Vista general

Un conjunto de datos contiene una tabla de datos con direcciones de correo electrónico. Este ejemplo utiliza la función `TextBetween` para extraer el dominio de segundo nivel de la dirección.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* Los siguientes campos de la tabla de datos:

  * `UserID`

  * `EmailAddress`

Script de carga

```
Example:
Load * inline [
UserID, EmailAddress
1, alice@example.com
2, bob@sample.org
3, charlie@domain.net
];
```

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* ` UserID
                                   `

* `EmailAddress`

Cree la siguiente dimensión calculada:

* `=TextBetween(EmailAddress,'@', '.')`, para devolver el texto entre los caracteres `'@'` y `'.'` dentro del campo `EmailAddress`.

Results table

| UserID | EmailAddress | TextBetween(EmailAddress,'@', '.') |
| --- | --- | --- |
| 1 | alice@example.com | example |
| 2 | bob@sample.org | sample |
| 3 | charlie@domain.net | domain |

El resultado de la función `TextBetween` devuelve el dominio de segundo nivel de cada ID de usuario buscando el contenido entre los delimitadores especificados: `'@'` y `'.'`.