# KeepChar Función de script y de gráfico

KeepChar() devuelve una cadena formada por cualquiera de los caracteres de la primera cadena que coincidan con los caracteres de la segunda. Esta función distingue entre mayúsculas y minúsculas.

Sintaxis:

KeepChar(text, keep\_chars)

Tipo de datos que devuelve: cadena

Argumentos

| Argumento | Descripción |
| --- | --- |
| text | La cadena original. |
| keep\_chars | Una cadena que contiene los caracteres text que deben conservarse. Este argumento distingue entre mayúsculas y minúsculas. |

Ejemplo: expresiones de gráfico

| Ejemplo | Resultado |
| --- | --- |
| `KeepChar ( 'a1b2c3','123' )` | Devuelve `123` |
| `KeepChar  ( 'a1b2c3','1234' )` | Devuelve `123` |
| `KeepChar  ( 'a1b22c3','1234' )` | Devuelve `1223` |
| `KeepChar( 'a1b2c3','312' )` | Devuelve `123` |

## Ejemplo: fundamentos de KeepChar

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

#### Expresión de gráfico

Vista general

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* 

  Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* 

  Los siguientes campos de la tabla de datos:

  * `InputText` que contiene la cadena de texto original que se va a procesar.

  * `CharsToKeep` que contiene la lista de caracteres que deben conservarse de la cadena de texto original tras el procesamiento.

Script de carga

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

Resultados

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `InputText`
* `CharsToKeep`

Cree la siguiente dimensión calculada:

* `=KeepChar(InputText, CharsToKeep)`, para calcular los caracteres de `InputText` que coinciden con los de `CharsToKeep`.

Tabla de resultados

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

La columna `KeepChar(InputText, CharsToKeep)` devuelve solo los caracteres de `InputText` que coinciden exactamente con los de `CharsToKeep`. Por ejemplo, la tercera fila devuelve `bc`, ya que esos son los únicos caracteres de `InputText` que coinciden con los de `CharsToKeep`. El carácter en mayúsculas `A` no se devuelve, ya que los elementos de `CharsToKeep` únicamente están en minúsculas.

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

#### Script de carga

El siguiente código muestra cómo utilizar la función en un script de carga.

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

Tabla de resultados

| Cadena1 | Cadena2 | KeepChar |
| --- | --- | --- |
| a1b2c3 | 123 | 123 |

## Ejemplo: uso de KeepChar para analizar texto no estructurado

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

#### Expresión de gráfico

Vista general

Este ejemplo utiliza la función para analizar texto no estructurado (letras, números y caracteres de símbolos) y ofrecer un resultado de salida estructurado que solo conserva los caracteres numéricos.

Abra el Editor de carga de datos y añada el script de carga inferior en una nueva sección.

El script de carga contiene:

* 

  Un conjunto de datos que se carga en una tabla de datos denominada `Example`.

* 

  Los siguientes campos de la tabla de datos:

  * `InputText` que contiene la cadena de texto original que se va a procesar.

  * `CharsToKeep` que contiene la lista de caracteres que deben conservarse de la cadena de texto original tras el procesamiento.

Script de carga

```
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

Cargue los datos y abra una hoja. Cree una nueva tabla y agregue estos campos como dimensiones:

* `InputText`
* `CharsToKeep`

Cree la siguiente dimensión calculada:

* `=KeepChar(InputText, CharsToKeep)`, para calcular los caracteres de `InputText` que coinciden con los de `CharsToKeep`.

Tabla de resultados

| InputText | CharsToKeep | KeepChar(InputText, CharsToKeep) |
| --- | --- | --- |
| Entrega del número de lote: 333\*456789 | 0123456789 | 333456789 |
| Encuentre las mercancías recibidas en la bahía 16a | 0123456789 | 16 |
| El código numérico para el procesamiento de entradas es 123-456\|789 | 0123456789 | 123456789 |

Compare el resultado de la función `KeepChar` con los valores originales de la cadena ComentarioCliente (`InputText`) que se cargaron en el script. La función `KeepChar` ha eliminado con éxito todos los caracteres no numéricos del texto de entrada.

## Más información

* [PurgeChar Función de script y de gráfico](https://help.qlik.com/es-ES/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm)