# KeepChar - 스크립트 및 차트 함수

KeepChar()는 첫 번째 문자열의 문자 중 두 번째 문자열의 문자와 일치하는 문자로 구성된 문자열을 반환합니다. 이 함수는 대/소문자를 구분합니다.

구문:

KeepChar(text, keep\_chars)

반환 데이터 유형: 문자열

인수

| 인수 | 설명 |
| --- | --- |
| text | 원래 문자열입니다. |
| keep\_chars | 유지할 text의 문자가 포함된 문자열입니다. 이 인수는 대/소문자를 구분합니다. |

예: 차트 표현식

| 예 | 결과 |
| --- | --- |
| `KeepChar ( 'a1b2c3','123' )` | `123`를 반환합니다. |
| `KeepChar  ( 'a1b2c3','1234' )` | `123`를 반환합니다. |
| `KeepChar  ( 'a1b22c3','1234' )` | `1223`를 반환합니다. |
| `KeepChar( 'a1b2c3','312' )` | `123`를 반환합니다. |

## 예 - KeepChar 기본 사항

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

#### 차트 표현식

개요

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* 

  `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 

  데이터 테이블의 필드는 다음과 같습니다.

  * 처리할 원본 텍스트 문자열이 포함된 `InputText`.

  * `CharsToKeep`에는 처리 후 원래 텍스트 문자열에서 유지할 문자 목록이 포함되어 있습니다.

로드 스크립트

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

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

* `InputText`
* `CharsToKeep`

다음 계산된 차원을 만듭니다.

* `=KeepChar(InputText, CharsToKeep)`은 `CharsToKeep`의 문자와 일치하는 `InputText`의 문자를 계산합니다.

결과 테이블

| 입력 텍스트 | 유지할 문자 | KeepChar(입력 텍스트, 유지할 문자) |
| --- | --- | --- |
| a1b2c3 | 123 | 123 |
| a^b^c | abc | abc |
| A^b^c | abc | bc |

`KeepChar(InputText, CharsToKeep)` 열은 `CharsToKeep`의 문자와 정확히 일치하는 `InputText`의 문자만 반환합니다. 예를 들어, 세 번째 행은 `CharsToKeep`의 문자와 일치하는 `InputText`의 유일한 문자인 `bc`를 반환합니다. `CharsToKeep`의 항목은 소문자만 가능하므로 대문자 `A`는 반환되지 않습니다.

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

#### 로드 스크립트

다음 코드는 로드 스크립트에서 함수를 사용하는 방법을 보여 줍니다.

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

결과 테이블

| 문자열1 | 문자열2 | KeepChar |
| --- | --- | --- |
| a1b2c3 | 123 | 123 |

## 예 - KeepChar 구조화되지 않은 텍스트를 구문 분석하는 시나리오

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

#### 차트 표현식

개요

이 예에서는 이 함수를 사용하여 비정형 텍스트(문자, 숫자 및 기호 문자)를 구문 분석하고 숫자 문자만 유지하는 정형화된 출력을 제공합니다.

데이터 로드 편집기를 열고 새 섹션에 아래 로드 스크립트를 추가합니다.

로드 스크립트에는 다음이 포함됩니다.

* 

  `Example`이라는 데이터 테이블에 로드되는 데이터 집합입니다.

* 

  데이터 테이블의 필드는 다음과 같습니다.

  * 처리할 원본 텍스트 문자열이 포함된 `InputText`입니다.

  * `CharsToKeep`에는 처리 후 원래 텍스트 문자열에서 유지할 문자 목록이 포함되어 있습니다.

로드 스크립트

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

결과

데이터를 로드하고 시트를 엽니다. 새 테이블을 만들고 다음 필드를 차원으로 추가합니다.

* `InputText`
* `CharsToKeep`

다음 계산된 차원을 만듭니다.

* `=KeepChar(InputText, CharsToKeep)`은 `CharsToKeep`의 문자와 일치하는 `InputText`의 문자를 계산합니다.

결과 테이블

| InputText | CharsToKeep | KeepChar(InputText, CharsToKeep) |
| --- | --- | --- |
| 배치 번호 배송: 333\*456789 | 0123456789 | 333456789 |
| 16a 베이에서 입고된 상품을 찾으십시오. | 0123456789 | 16 |
| 입력 처리를 위한 숫자 코드는 123-456\|789입니다. | 0123456789 | 123456789 |

`KeepChar` 함수의 출력을 스크립트에 로드된 원래 `InputText` 문자열 값과 비교합니다. `KeepChar` 함수는 입력 텍스트에서 숫자가 아닌 모든 문자를 성공적으로 제거했습니다.

## 자세한 정보

* [PurgeChar - 스크립트 및 차트 함수](https://help.qlik.com/ko-KR/sense/November2025/Subsystems/Hub/Content/Sense_Hub/Scripting/StringFunctions/PurgeChar.htm)