# KeepChar Skript- und Diagrammfunktion

KeepChar() gibt einen String zurück, der aus beliebigen Zeichen des ersten Strings besteht, die mit den Zeichen im zweiten Strings übereinstimmen. Bei dieser Funktion wird zwischen Groß- und Kleinschreibung unterschieden.

Syntax:

KeepChar(text, keep\_chars)

Rückgabe Datentyp: String

Argumente

| Argument | Beschreibung |
| --- | --- |
| text | Der Original-String. |
| keep\_chars | Ein String, der die Zeichen in text enthält, die behalten werden sollen. Bei diesem Argument wird zwischen Groß- und Kleinschreibung unterschieden. |

Beispiel: Diagrammformeln

| Beispiel | Ergebnis |
| --- | --- |
| `KeepChar ( 'a1b2c3','123' )` | Liefert `123` |
| `KeepChar  ( 'a1b2c3','1234' )` | Liefert `123` |
| `KeepChar  ( 'a1b22c3','1234' )` | Liefert `1223` |
| `KeepChar( 'a1b2c3','312' )` | Liefert `123` |

## Beispiel – Grundlegendes zu KeepChar

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

#### Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* 

  Datensatz, der in eine Datentabelle namens `Example` geladen wird

* 

  Die folgenden Felder in der Datentabelle:

  * `InputText` enthält den zu verarbeitenden Originalstring.

  * `CharsToKeep` enthält die Liste der Zeichen, die nach der Verarbeitung aus dem ursprünglichen Textstring beibehalten werden sollen.

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `InputText`
* `CharsToKeep`

Erstellen Sie die folgende berechnete Dimension:

* `=KeepChar(InputText, CharsToKeep)`, um die Zeichen in `InputText` zu berechnen, die mit den Zeichen in `CharsToKeep` übereinstimmen.

Ergebnistabelle

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

Die Spalte `KeepChar(InputText, CharsToKeep)` gibt nur die Zeichen in `InputText` zurück, die genau mit den Zeichen in `CharsToKeep` übereinstimmen. Die dritte Zeile gibt zum Beispiel `bc` zurück, da dies die einzigen Zeichen in `InputText` sind, die mit den Zeichen in `CharsToKeep` übereinstimmen. Das Großbuchstabenzeichen `A` wird nicht zurückgegeben, da die Einträge in `CharsToKeep` nur Kleinbuchstaben sind.

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

#### Ladeskript

Der folgende Code zeigt, wie Sie die Funktion in einem Ladeskript verwenden können.

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

Ergebnistabelle

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

## Beispiel – Szenario für KeepChar zum Analysieren von unstrukturiertem Text

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

#### Diagrammformel

Übersicht

In diesem Beispiel wird die Funktion verwendet, um unstrukturierten Text (Buchstaben, Zahlen und Symbolzeichen) zu analysieren und eine strukturierte Ausgabe zu liefern, die nur numerische Zeichen enthält.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* 

  Datensatz, der in eine Datentabelle namens `Example` geladen wird

* 

  Die folgenden Felder in der Datentabelle:

  * `InputText` enthält den zu verarbeitenden Originalstring.

  * `CharsToKeep` enthält die Liste der Zeichen, die nach der Verarbeitung aus dem ursprünglichen Textstring beibehalten werden sollen.

Ladeskript

```
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'
];
```

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* `InputText`
* `CharsToKeep`

Erstellen Sie die folgende berechnete Dimension:

* `=KeepChar(InputText, CharsToKeep)`, um die Zeichen in `InputText` zu berechnen, die mit den Zeichen in `CharsToKeep` übereinstimmen.

Ergebnistabelle

| InputText | CharsToKeep | KeepChar(InputText, CharsToKeep) |
| --- | --- | --- |
| Lieferung der Chargennummer: 333\*456789 | 0123456789 | 333456789 |
| Die erhaltenen Waren in Regal 16a finden | 0123456789 | 16 |
| Der numerische Code für die Eingabeverarbeitung ist 123-456\|789 | 0123456789 | 123456789 |

Vergleichen Sie die Ausgabe der Funktion `KeepChar` mit den ursprünglichen Stringwerten für `InputText`, die in das Skript geladen wurden. Die Funktion `KeepChar` hat erfolgreich alle nicht-numerischen Zeichen aus dem Eingabetext entfernt.

## Weitere Informationen

* [PurgeChar Skript- und Diagrammfunktion](https://help.qlik.com/de-DE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm)