# KeepChar funkcja skryptu i funkcja wykresu

KeepChar() zwraca ciąg składający się z dowolnych znaków pierwszego ciągu, które pasują do znaków w drugim ciągu. W tej funkcji rozróżniana jest wielkość liter.

Składnia:

KeepChar(text, keep\_chars)

Typ zwracanych danych: ciąg znaków

Argumenty

| Argument | Opis |
| --- | --- |
| text | Pierwotny ciąg znaków. |
| keep\_chars | Ciąg znaków zawierający znaki w tekście text do przechowania. Wielkość liter w tym argumencie ma znaczenie. |

Przykład: wyrażenia wykresu

| Przykład | Wynik |
| --- | --- |
| `KeepChar ( 'a1b2c3','123' )` | Zwraca wartość `123` |
| `KeepChar  ( 'a1b2c3','1234' )` | Zwraca wartość `123` |
| `KeepChar  ( 'a1b22c3','1234' )` | Zwraca wartość `1223` |
| `KeepChar( 'a1b2c3','312' )` | Zwraca wartość `123` |

## Przykład — podstawy KeepChar

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

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* 

  Zestaw danych załadowany do tabeli o nazwie `Example`.

* 

  Tabela zawiera następujące pola:

  * `InputText` zawiera pierwotny ciąg tekstowy do przetworzenia.

  * `CharsToKeep` zawiera listę znaków do zachowania z pierwotnego ciągu tekstowego po przetworzeniu.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `InputText`
* `CharsToKeep`

Utwórz następujący wymiar wyliczany:

* `=KeepChar(InputText, CharsToKeep)`, aby obliczyć znaki w `InputText`, które pasują do znaków w `CharsToKeep`.

Tabela wynikowa

| TekstWejściowy | ZnakiDoZachowania | ZachowajZnak(TekstWejściowy, ZnakiDoZachowania) |
| --- | --- | --- |
| a1b2c3 | 123 | 123 |
| a^b^c | abc | abc |
| A^b^c | abc | bc |

Kolumna `KeepChar(InputText, CharsToKeep)` zwraca tylko te znaki w `InputText`, które dokładnie pasują do znaków w `CharsToKeep`. Na przykład trzeci wiersz zwraca `bc`, ponieważ są to jedyne znaki w `InputText`, które pasują do znaków w `CharsToKeep`. Wielka litera `A` nie jest zwracana, ponieważ elementy w `CharsToKeep` mają tylko małe litery.

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

#### Skrypt ładowania

Poniższy kod pokazuje, jak użyć tej funkcji w skrypcie ładowania.

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

Tabela wynikowa

| Ciąg1 | Ciąg2 | ZachowajZnak |
| --- | --- | --- |
| a1b2c3 | 123 | 123 |

## Przykład — zastosowanie KeepChar do analizowania nieustrukturyzowanego tekstu

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

#### Wyrażenie wykresu

Przegląd

W tym przykładzie wykorzystuje się funkcję do analizowania tekstu bez struktury (liter, cyfr i znaków symboli) oraz dostarczania ustrukturyzowanych danych wyjściowych, które zachowują tylko znaki numeryczne.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* 

  Zestaw danych załadowany do tabeli o nazwie `Example`.

* 

  Tabela zawiera następujące pola:

  * `InputText` zawiera pierwotny ciąg tekstowy do przetworzenia.

  * `CharsToKeep` zawiera listę znaków do zachowania z pierwotnego ciągu tekstowego po przetworzeniu.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* `InputText`
* `CharsToKeep`

Utwórz następujący wymiar wyliczany:

* `=KeepChar(InputText, CharsToKeep)`, aby obliczyć znaki w `InputText`, które pasują do znaków w `CharsToKeep`.

Tabela wynikowa

| InputText | CharsToKeep | KeepChar(InputText, CharsToKeep) |
| --- | --- | --- |
| Dostawa partii o numerze: 333\*456789 | 0123456789 | 333456789 |
| Znajdź otrzymane towary w zatoce 16a | 0123456789 | 16 |
| Kod numeryczny do przetwarzania danych wejściowych to 123-456\|789 | 0123456789 | 123456789 |

Porównaj dane wyjściowe funkcji `KeepChar` z oryginalnymi wartościami ciągu `InputText`, które zostały załadowane w skrypcie. Funkcja `KeepChar` pomyślnie usunęła wszystkie znaki nienumeryczne z tekstu wejściowego.

## Dowiedz się więcej

* [PurgeChar funkcja skryptu i funkcja wykresu](https://help.qlik.com/pl-PL/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm)