# TextBetween Funzione per script e grafici

TextBetween() restituisce il testo nella stringa di input che si trova tra i caratteri specificati come delimitatori.

Sintassi:

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

Tipo di dati restituiti: stringa

Argomenti

| Argomento | Descrizione |
| --- | --- |
| text | La stringa originale. |
| delimiter1 | Specifica il primo carattere di delimitazione (o stringa) da ricercare in text. |
| delimiter2 | Specifica il secondo carattere di delimitazione (o stringa) da ricercare in text. |
| n | Definisce l'occorrenza della coppia di delimitazione in cui eseguire la ricerca. Ad esempio, un valore di 2 restituisce i caratteri tra la seconda occorrenza di delimiter1 e la seconda occorrenza di delimiter2. |

Esempio: espressioni del grafico

| Esempio | Risultato |
| --- | --- |
| `TextBetween( '<abc>',  			'<', '>' )` | Restituisce `abc` |
| `TextBetween( '<abc><de>',   '<', '>',2 )` | Restituisce `de` |
| `TextBetween( 'abc', '<', '>' )` | Restituisce `NULL`<br><br>Se uno qualsiasi dei delimitatori non viene trovato nella stringa, viene restituito il valore `NULL`. |
| `TextBetween( '<a<b', '<', '>' )` | Restituisce `NULL`<br><br>Se uno qualsiasi dei delimitatori non viene trovato nella stringa, viene restituito `NULL`. |
| `TextBetween( '<>',  			'<', '>' )` | Restituisce una stringa con lunghezza zero. |
| `TextBetween( '<abc>',  			'<', '>', 2 )` | Restituisce `NULL`, in quanto n è superiore al numero di occorrenze dei delimitatori. |

## Esempio: principi fondamentali della funzione TextBetween

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

#### Espressione del grafico

Panoramica

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* Un campo della tabella dati denominata `InputText`.

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere questo campo come dimensione:

* ` InputText
                                   `

Creare le seguenti dimensioni calcolate:

* `=TextBetween(InputText,'<','>')`, per calcolare la prima istanza dei caratteri che appaiono tra i delimitatori `'<'` e `'>'` nel campo `InputText`.

* `=TextBetween(InputText,'<','>',2)`, per calcolare la seconda istanza dei caratteri che appaiono tra i delimitatori `'<'` e `'>'` nel 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 |

Nella prima dimensione calcolata, l'output della funzione `TextBetween` restituisce la prima istanza dei caratteri che appaiono tra i delimitatori `'<'` e `'>'`. Ad esempio, la riga 1 restituisce `abc`. La seconda dimensione calcolata ha un argomento `n` uguale a `2`, quindi l'output restituisce la seconda istanza dei caratteri che appaiono tra i delimitatori `'<'` e `'>'`. Ad esempio, la riga 1 restituisce `de`.

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

#### Script di caricamento

Il codice seguente mostra come utilizzare la funzione in uno script di caricamento.

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

Tabella dei risultati

| Testo | TestoIntermedio | SecondoTestoIntermedio |
| --- | --- | --- |
| &lt;abc&gt;&lt;de&gt; | abc | de |
| &lt;def&gt;&lt;ghi&gt;&lt;jkl&gt; | def | ghi |

## Esempio: scenario per l'applicazione della funzione TextBetween

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

#### Espressione del grafico

Panoramica

Un set di dati contiene una tabella dati con gli indirizzi e-mail. In questo esempio si mostra come utilizzare la funzione `TextBetween` per estrarre il dominio di secondo livello dall'indirizzo.

Aprire l'Editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova sezione.

Lo script di caricamento contiene:

* Un set di dati che viene caricato in una tabella dati chiamata `Example`.

* I seguenti campi nella tabella dati:

  * `UserID`

  * `EmailAddress`

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni:

* ` UserID
                                   `

* `EmailAddress`

Creare la seguente dimensione calcolata:

* `=TextBetween(EmailAddress,'@', '.')`, per restituire il testo tra i caratteri `'@'` e `'.'` all'interno del campo `EmailAddress`.

Results table

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

L'output della funzione `TextBetween` restituisce il dominio di secondo livello per ogni ID utente, cercando il contenuto tra i delimitatori specificati: `'@'` e `'.'`.