# KeepChar Skript- och diagramfunktion

KeepChar() returnerar en sträng som består av de tecken från den första strängen som matchar tecknen i den andra strängen. Denna funktion är skiftlägeskänslig.

Syntax:

KeepChar(text, keep\_chars)

Returnerad datatyp: sträng

Argument

| Argument | Beskrivning |
| --- | --- |
| text | Den ursprungliga strängen. |
| keep\_chars | En sträng som innehåller tecknen i text som ska behållas. Detta argument är skiftlägeskänsligt. |

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `KeepChar ( 'a1b2c3','123' )` | Returnerar `123` |
| `KeepChar  ( 'a1b2c3','1234' )` | Returnerar `123` |
| `KeepChar  ( 'a1b22c3','1234' )` | Returnerar `1223` |
| `KeepChar( 'a1b2c3','312' )` | Returnerar `123` |

## Exempel – grunderna i KeepChar

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* 

  En datauppsättning som läses in i en datatabell som heter `Example`.

* 

  Följande fält i datatabellen:

  * `InputText` som innehåller den ursprungliga textsträngen som ska bearbetas.

  * ,`CharsToKeep` som innehåller en lista över tecken som ska behållas från den ursprungliga textsträngen efter bearbetning.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `InputText`
* `CharsToKeep`

Skapa följande beräknade dimension:

* `=KeepChar(InputText, CharsToKeep)`, för att beräkna de tecken i `InputText` som matchar tecknen i `CharsToKeep`.

Resultattabell

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

Kolumnen `KeepChar(InputText, CharsToKeep)` returnerar endast de tecken i `InputText` som exakt matchar tecknen i `CharsToKeep`. Till exempel returnerar den tredje raden `bc` eftersom det är de enda tecknen i `InputText` som matchar tecknen i `CharsToKeep`. Det versala tecknet `A` returneras inte eftersom posterna i `CharsToKeep` endast är gemena.

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

#### Laddningsskript

Följande kod visar hur du använder funktionen i ett laddningsskript.

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

Resultattabell

| sträng(1) | Sträng2 | KeepChar |
| --- | --- | --- |
| a1b2c3 | 123 | 123 |

## Exempel – KeepChar-scenario för att analysera ostrukturerad text

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

#### Diagramuttryck

Översikt

I det här exemplet används funktionen för att analysera ostrukturerad text (bokstäver, siffror och symboltecken) och leverera strukturerad utdata som endast innehåller numeriska tecken.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* 

  En datauppsättning som läses in i en datatabell som heter `Example`.

* 

  Följande fält i datatabellen:

  * `InputText` som innehåller den ursprungliga textsträngen som ska bearbetas.

  * ,`CharsToKeep` som innehåller en lista över tecken som ska behållas från den ursprungliga textsträngen efter bearbetning.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* `InputText`
* `CharsToKeep`

Skapa följande beräknade dimension:

* `=KeepChar(InputText, CharsToKeep)`, för att beräkna de tecken i `InputText` som matchar tecknen i `CharsToKeep`.

Resultattabell

| InputText | CharsToKeep | KeepChar(InputText, CharsToKeep) |
| --- | --- | --- |
| Leverans av batchnummer: 333\*456789 | 0123456789 | 333456789 |
| Hitta de mottagna varorna i vik 16a | 0123456789 | 16 |
| Den numeriska koden för bearbetning av inmatning är 123-456\|789 | 0123456789 | 123456789 |

Jämför utdata från funktionen `KeepChar` med de ursprungliga `InputText`-strängvärdena som laddades i skriptet. Funktionen `KeepChar` har tagit bort alla icke-numeriska tecken från inmatningstexten.

## Mer information

* [PurgeChar Skript- och diagramfunktion](https://help.qlik.com/sv-SE/sense/May2026/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm)