# TextBetween Fonction de script et de graphique

TextBetween() renvoie le texte de la chaîne d'entrée figurant entre les caractères spécifiés comme délimiteurs.

Syntaxe :

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

Type de données renvoyé : string

Arguments

| Argument | Description |
| --- | --- |
| text | Chaîne d'origine. |
| delimiter1 | Spécifie le premier caractère (ou la première chaîne) délimiteur à rechercher dans la chaîne text. |
| delimiter2 | Spécifie le deuxième caractère (ou la deuxième chaîne) délimiteur à rechercher dans la chaîne text. |
| n | Définit l'occurrence de la paire de délimiteurs à l'intérieur de laquelle la recherche doit porter. Par exemple, une valeur égale à 2 renvoie les caractères compris entre la deuxième occurrence de delimiter1 et la deuxième occurrence de delimiter2. |

Exemple : Expressions de graphique

| Exemple | Résultat |
| --- | --- |
| `TextBetween( '<abc>',  			'<', '>' )` | Renvoie `abc`. |
| `TextBetween( '<abc><de>',   '<', '>',2 )` | Renvoie `de`. |
| `TextBetween( 'abc', '<', '>' )` | Renvoie `NULL`.<br><br>Si la chaîne ne contient aucun des délimiteurs, la valeur `NULL` est renvoyée. |
| `TextBetween( '<a<b', '<', '>' )` | Renvoie `NULL`.<br><br>Si l'un des délimiteurs n'est pas trouvé dans la chaîne, la valeur `NULL` est renvoyée. |
| `TextBetween( '<>',  			'<', '>' )` | Renvoie une chaîne de longueur zéro. |
| `TextBetween( '<abc>',  			'<', '>', 2 )` | Renvoie `NULL`, car n est supérieur au nombre d'occurrences des délimiteurs. |

## Exemple - Les bases de TextBetween

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

#### Expression de graphique

Vue d'ensemble

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champ dans la table de données portant le nom `InputText`.

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ce champ comme dimension :

* ` InputText
                                   `

Créez les dimensions calculées suivantes :

* `=TextBetween(InputText,'<','>')` pour calculer la première instance des caractères qui apparaissent entre les délimiteurs `'<'` et `'>'` dans le champ `InputText`.

* `=TextBetween(InputText,'<','>',2)` pour calculer la deuxième instance des caractères qui apparaissent entre les délimiteurs `'<'` et `'>'` dans le champ `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 |

Dans la première dimension calculée, la sortie de la fonction `TextBetween` renvoie la première instance des caractères qui apparaissent entre les délimiteurs `'<'` et `'>'`. Par exemple, la ligne 1 renvoie `abc`. La deuxième dimension calculée a un argument `n` égal à `2` ; par conséquent, la sortie renvoie la deuxième instance des caractères qui apparaissent entre les délimiteurs `'<'` et `'>'`. Par exemple, la ligne 1 renvoie `de`.

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

#### Script de chargement

Le code suivant montre comment utiliser la fonction dans un script de chargement.

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

Tableau de résultats

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

## Exemple - Scénario TextBetween

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

#### Expression de graphique

Vue d'ensemble

Un jeu de données contient une table de données avec des adresses e-mail. Cet exemple utilise la fonction `TextBetween` pour extraire le domaine de deuxième niveau de l'adresse.

Ouvrez l'éditeur de chargement de données et ajoutez le script de chargement ci-dessous à une nouvelle section.

Le script de chargement contient :

* Jeu de données chargé dans une table de données appelée `Example`.

* Champs suivants dans la table de données :

  * `UserID`

  * `EmailAddress`

Script de chargement

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

Résultats

Chargez les données et ouvrez une feuille. Créez une table et ajoutez ces champs comme dimensions :

* ` UserID
                                   `

* `EmailAddress`

Créez la dimension calculée suivante :

* `=TextBetween(EmailAddress,'@', '.')` pour renvoyer le texte entre les caractères `'@'` et `'.'` dans le champ `EmailAddress`.

Results table

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

La sortie de la fonction `TextBetween` renvoie le domaine de deuxième niveau pour chaque ID utilisateur en recherchant le contenu entre les délimiteurs spécifiés : `'@'` et `'.'`.