# KeepChar Função de script e de gráfico

KeepChar() retorna uma string que consiste em qualquer um dos caracteres da primeira string que correspondem aos caracteres da segunda string. Essa função diferencia maiúsculas de minúsculas.

Sintaxe:

KeepChar(text, keep\_chars)

Tipo de dados de retorno: caractere

Argumentos

| Argumento | Descrição |
| --- | --- |
| text | A string original. |
| keep\_chars | Uma string contendo os caracteres no text a ser mantido. Esse argumento diferencia maiúsculas de minúsculas. |

Exemplo: expressões de gráfico

| Exemplo | Resultado |
| --- | --- |
| `KeepChar ( 'a1b2c3','123' )` | Retorna `123` |
| `KeepChar  ( 'a1b2c3','1234' )` | Retorna `123` |
| `KeepChar  ( 'a1b22c3','1234' )` | Retorna `1223` |
| `KeepChar( 'a1b2c3','312' )` | Retorna `123` |

## Exemplo - Fundamentos de KeepChar

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

#### Expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* 

  Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* 

  Os campos a seguir na tabela de dados:

  * `InputText` que contém a string de texto original a ser processada.

  * `CharsToKeep` que contém a lista de caracteres a serem retidos da string de texto original após o processamento.

Script de carregamento

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `InputText`
* `CharsToKeep`

Crie a seguinte dimensão calculada:

* `=KeepChar(InputText, CharsToKeep)` para calcular os caracteres em `InputText` que correspondem aos caracteres em `CharsToKeep`.

Tabela de resultados

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

A coluna `KeepChar(InputText, CharsToKeep)` retorna apenas os caracteres em `InputText` que correspondem exatamente aos caracteres em `CharsToKeep`. Por exemplo, a terceira linha retorna `bc` porque esses são os únicos caracteres em `InputText` que correspondem aos caracteres em `CharsToKeep`. O caractere maiúsculo `A` não é retornado, pois os itens em `CharsToKeep` são apenas minúsculos.

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

#### Script de carregamento

O código a seguir mostra como usar a função em um script de carregamento.

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

Tabela de resultados

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

## Exemplo - KeepChar cenário para analisar texto não estruturado

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

#### Expressão de gráfico

Visão geral

Este exemplo usa a função para analisar texto não estruturado (letras, números e caracteres de símbolo) e fornecer uma saída estruturada que retém apenas caracteres numéricos.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* 

  Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* 

  Os campos a seguir na tabela de dados:

  * `InputText` que contém a string de texto original a ser processada.

  * `CharsToKeep` que contém a lista de caracteres a serem retidos da string de texto original após o processamento.

Script de carregamento

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* `InputText`
* `CharsToKeep`

Crie a seguinte dimensão calculada:

* `=KeepChar(InputText, CharsToKeep)` para calcular os caracteres em `InputText` que correspondem aos caracteres em `CharsToKeep`.

Tabela de resultados

| InputText | CharsToKeep | KeepChar(InputText, CharsToKeep) |
| --- | --- | --- |
| Entrega do número do lote: 333\*456789 | 0123456789 | 333456789 |
| Encontre as mercadorias recebidas na baía 16a | 0123456789 | 16 |
| O código numérico para o processamento de entrada é 123-456\|789 | 0123456789 | 123456789 |

Compare a saída da função `KeepChar` com os valores originais da string `InputText` que foram carregados no script. A função `KeepChar` removeu com êxito todos os caracteres não numéricos do texto de entrada.

## Saiba mais

* [PurgeChar Função de script e de gráfico](https://help.qlik.com/pt-BR/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm)