# KeepChar Fonction de script et de graphique

KeepChar() renvoie une chaîne composée d'un des caractères de la première chaîne correspondant aux caractères de la deuxième chaîne. Cette fonction est sensible à la casse.

KeepChar(text, keep\_chars)

string

Arguments

| Argument | Description |
| --- | --- |
| text | Chaîne d'origine. |
| keep\_chars | Chaîne contenant les caractères figurant dans text à conserver. Cet argument est sensible à la casse. |

Exemple : Expressions de graphique

| Exemple | Résultat |
| --- | --- |
| `KeepChar ( 'a1b2c3','123' )` | Renvoie `123`. |
| `KeepChar  ( 'a1b2c3','1234' )` | Renvoie `123`. |
| `KeepChar  ( 'a1b22c3','1234' )` | Renvoie `1223`. |
| `KeepChar( 'a1b2c3','312' )` | Renvoie `123`. |

## Exemple - Les bases de KeepChar

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/KeepChar.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`.

* 

  Champs suivants dans la table de données :

  * `InputText` qui contient la chaîne de texte d'origine à traiter.

  * `CharsToKeep` qui contient la liste de caractères à conserver de la chaîne de texte d'origine après le traitement.

Script de chargement

```
Example:
Load * inline [
InputText, CharsToKeep
'a1b2c3', '123'
'a^b^c', 'abc'
'A^b^c', 'abc'
];
```

Résultats

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

* `InputText`
* `CharsToKeep`

Créez la dimension calculée suivante :

* `=KeepChar(InputText, CharsToKeep)` pour calculer les caractères de `InputText` correspondant aux caractères de `CharsToKeep`.

Tableau de résultats

| InputText | CharsToKeep | KeepChar(InputText, CharsToKeep) |
| --- | --- | --- |
| a1b2c3 | 123 | 123 |
| a^b^c | abc | abc |
| A^b^c | abc | bc |

La colonne `KeepChar(InputText, CharsToKeep)` ne renvoie que les caractères de `InputText` qui correspondent exactement aux caractères de `CharsToKeep`. Par exemple, la troisième ligne renvoie `bc`, car il s'agit des seuls caractères de `InputText` qui correspondent aux caractères de `CharsToKeep`. Le caractère majuscule `A` n'est pas renvoyé, car les éléments de `CharsToKeep` sont uniquement en minuscules.

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

#### Script de chargement

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

```
Example:
Load
*,
keepchar(String1, String2) as KeepChar;
Load * inline [
String1, String2
'a1b2c3', '123'
];
```

Tableau de résultats

| String1 | String2 | KeepChar |
| --- | --- | --- |
| a1b2c3 | 123 | 123 |

## Exemple - Scénario KeepChar pour analyser un texte non structuré

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

#### Expression de graphique

Vue d'ensemble

Cet exemple utilise la fonction pour analyser un texte non structuré (lettres, chiffres et symboles) et fournir une sortie structurée qui ne conserve que les caractères numériques.

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 :

  * `InputText` qui contient la chaîne de texte d'origine à traiter.

  * `CharsToKeep` qui contient la liste de caractères à conserver de la chaîne de texte d'origine après le traitement.

Script de chargement

```
Example:
Load * inline [
InputText, InputCategory, CharsToKeep
'The numeric code for input processing is 123-456|789.', 'Code', '0123456789'
'Delivery of batch number: 333*456789.', 'Batch', '0123456789'
'Find the goods received in bay 16a', 'Bay', '0123456789'
];
```

Résultats

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

* `InputText`
* `CharsToKeep`

Créez la dimension calculée suivante :

* `=KeepChar(InputText, CharsToKeep)` pour calculer les caractères de `InputText` correspondant aux caractères de `CharsToKeep`.

Tableau de résultats

| InputText | CharsToKeep | KeepChar(InputText, CharsToKeep) |
| --- | --- | --- |
| Delivery of batch number: 333\*456789 | 0123456789 | 333456789 |
| Find the goods received in bay 16a | 0123456789 | 16 |
| The numeric code for input processing is 123-456\|789 | 0123456789 | 123456789 |

Comparez la sortie de la fonction `KeepChar` aux valeurs de la chaîne `InputText` d'origine qui ont été chargées dans le script. La fonction `KeepChar` a réussi à supprimer tous les caractères non numériques du texte d'entrée.

## En savoir plus

* [PurgeChar Fonction de script et de graphique](https://help.qlik.com/fr-FR/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm)