# TextBetween 스크립트 및 차트 함수

TextBetween()은 구분 기호로 지정된 문자 사이에서 발견되는 입력 문자열의 텍스트를 반환합니다.

구문:

TextBetween(text, delimiter1, delimiter2[, n])

반환 데이터 유형: 문자열

인수

| 인수 | 설명 |
| --- | --- |
| text | 원래 문자열입니다. |
| delimiter1 | text에서 검색할 첫 번째 구분 문자(또는 문자열)를 지정합니다. |
| delimiter2 | text에서 검색할 두 번째 구분 문자(또는 문자열)를 지정합니다. |
| n | 검색 범위의 기준이 되는 구분 기호 쌍의 발생 위치를 정의합니다. 예를 들어, 값 2는 delimiter1의 두 번째 발생 항목과 delimiter2의 두 번째 발생 항목 사이의 문자를 반환합니다. |

예: 차트 표현식

| 예제 | 결과 |
| --- | --- |
| `TextBetween( '<abc>',  			'<', '>' )` | `abc`를 반환합니다. |
| `TextBetween( '<abc><de>',   '<', '>',2 )` | `de`를 반환합니다. |
| `TextBetween( 'abc', '<', '>' )` | `NULL`를 반환합니다.<br><br>문자열에 구분 기호가 없는 경우 `NULL`이 반환됩니다. |
| `TextBetween( '<a<b', '<', '>' )` | `NULL`를 반환합니다.<br><br>문자열에 구분 기호가 없는 경우 `NULL`이 반환됩니다. |
| `TextBetween( '<>',  			'<', '>' )` | 빈 문자열을 반환합니다. |
| `TextBetween( '<abc>',  			'<', '>', 2 )` | n이 구분 기호의 발생 횟수보다 크므로 `NULL`을 반환합니다. |

## 예 - TextBetween 기본 사항

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

#### 차트 표현식

개요

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

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

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

* 데이터 테이블의 한 필드는 `InputText`입니다.

로드 스크립트

```
Example:
Load * inline [
InputText,
<abc><de>
<def><ghi><jk>
];
```

결과

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

* ` InputText
                                   `

다음과 같이 계산 차원을 만듭니다.

* `=TextBetween(InputText,'<','>')`는 `InputText` 필드에서 구분 기호 `'<'`와 `'>'` 사이에 나타나는 문자의 첫 번째 인스턴스를 계산합니다.

* `=TextBetween(InputText,'<','>',2)`는 `InputText` 필드에서 구분 기호 `'<'`와 `'>'` 사이에 나타나는 문자의 두 번째 인스턴스를 계산합니다.

Results table

| InputText | TextBetween(InputText,'&lt;','&gt;') | TextBetween(InputText,'&lt;','&gt;',2) |
| --- | --- | --- |
| &lt;abc&gt;&lt;de&gt; | abc | de |
| &lt;def&gt;&lt;ghi&gt;&lt;jkl&gt; | def | ghi |

첫 번째 계산 차원에서 `TextBetween` 함수의 출력은 구분 기호 `'<'`와 `'>'` 사이에 나타나는 문자의 첫 번째 인스턴스를 반환합니다. 예를 들어, 행 1은 `abc`를 반환합니다. 두 번째 계산 차원에는 `n` 인수가 `2`이므로 출력은 구분 기호 `'<'`와 `'>'` 사이에 나타나는 문자의 두 번째 인스턴스를 반환합니다. 예를 들어, 행 1은 `de`를 반환합니다.

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

#### 로드 스크립트

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

```
Load *,
textbetween(Text,'<','>') as TextBetween,
textbetween(Text,'<','>',2) as SecondTextBetween;
Load * inline [
Text
<abc><de>
<def><ghi><jkl>];
```

결과 테이블

| 텍스트 | TextBetween | SecondTextBetween |
| --- | --- | --- |
| &lt;abc&gt;&lt;de&gt; | abc | de |
| &lt;def&gt;&lt;ghi&gt;&lt;jkl&gt; | def | ghi |

## 예 - TextBetween 시나리오

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

#### 차트 표현식

개요

데이터 집합에는 이메일 주소가 포함된 데이터 테이블이 포함되어 있습니다. 이 예에서는 `TextBetween` 함수를 사용하여 주소에서 2차 도메인을 추출합니다.

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

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

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

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

  * `UserID`

  * `EmailAddress`

로드 스크립트

```
Example:
Load * inline [
UserID, EmailAddress
1, alice@example.com
2, bob@sample.org
3, charlie@domain.net
];
```

결과

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

* ` UserID
                                   `

* `EmailAddress`

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

* `=TextBetween(EmailAddress,'@', '.')`는 `EmailAddress` 필드 내에서 `'@'`와 `'.'` 문자 사이의 텍스트를 반환합니다.

Results table

| UserID | EmailAddress | TextBetween(EmailAddress,'@', '.') |
| --- | --- | --- |
| 1 | alice@example.com | example |
| 2 | bob@sample.org | sample |
| 3 | charlie@domain.net | domain |

`TextBetween` 함수의 출력은 지정된 구분 기호 `'@'`와 `'.'` 사이의 콘텐츠를 검색하여 각 사용자 ID의 2차 도메인을 반환합니다.