# TextBetween — funkcja skryptu i funkcja wykresu

Funkcja TextBetween() zwraca tekst w ciągu wejściowym, który występuje miedzy znakami określonymi jako ograniczniki.

Składnia:

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

Typ zwracanych danych: ciąg znaków

Argumenty

| Argument | Opis |
| --- | --- |
| text | Pierwotny ciąg znaków. |
| delimiter1 | Określa pierwszy rozdzielający znak (lub ciąg znaków) do wyszukania w tekście text. |
| delimiter2 | Określa drugi rozdzielający znak (lub ciąg znaków) do wyszukania w tekście text. |
| n | Określa, między którym wystąpieniem pary ograniczników należy przeprowadzić wyszukiwanie. Na przykład wartość 2 zwraca znaki pomiędzy drugim wystąpieniem delimiter1 a drugim wystąpieniem delimiter2. |

Przykład: wyrażenia wykresu

| Przykład | Wynik |
| --- | --- |
| `TextBetween( '<abc>',  			'<', '>' )` | Zwraca wartość `abc` |
| `TextBetween( '<abc><de>',   '<', '>',2 )` | Zwraca wartość `de` |
| `TextBetween( 'abc', '<', '>' )` | Zwraca wartość `NULL`<br><br>Jeśli w ciągu nie zostanie znaleziony żaden ogranicznik, zostanie zwrócona wartość `NULL`. |
| `TextBetween( '<a<b', '<', '>' )` | Zwraca wartość `NULL`<br><br>Jeśli w ciągu nie zostaną znalezione żadne ograniczniki, zostanie zwrócona wartość `NULL`. |
| `TextBetween( '<>',  			'<', '>' )` | Zwraca ciąg o długości zerowej. |
| `TextBetween( '<abc>',  			'<', '>', 2 )` | Zwraca `NULL`, ponieważ n jest większe od liczby wystąpień ograniczników. |

## Przykład — podstawy TextBetween

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

#### Wyrażenie wykresu

Przegląd

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Jedno pole w tabeli danych o nazwie `InputText`.

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj to pole jako wymiar:

* ` InputText
                                   `

Utwórz następujące wymiary wyliczane:

* `=TextBetween(InputText,'<','>')` do obliczenia pierwszych wystąpień znaków, które pojawiają się między ogranicznikami `'<'` i `'>'` w polu `InputText`.

* `=TextBetween(InputText,'<','>',2)` do obliczenia drugiego wystąpienia znaków, które wyświetlają się między separatorami `'<'` i `'>'` w polu `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 |

W pierwszym obliczonym wymiarze wyjście funkcji `TextBetween` zwraca pierwsze wystąpienie znaków, które pojawiają się między ogranicznikami `'<'` i `'>'`. Na przykład wiersz 1 zwraca `abc`. Drugi obliczony wymiar ma argument `n` wynoszący `2`, dlatego dane wyjściowe zwracają drugie wystąpienie znaków, które pojawiają się pomiędzy ogranicznikami `'<'` i `'>'`. Na przykład wiersz 1 zwraca `de`.

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

#### Skrypt ładowania

Poniższy kod pokazuje, jak użyć tej funkcji w skrypcie ładowania.

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

Tabela wynikowa

| Tekst | TextBetween | SecondTextBetween |
| --- | --- | --- |
| &lt;abc&gt;&lt;de&gt; | abc | de |
| &lt;def&gt;&lt;ghi&gt;&lt;jkl&gt; | def | ghi |

## Przykład — zastosowanie TextBetween

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

#### Wyrażenie wykresu

Przegląd

Zestaw danych zawiera tabelę danych z adresami e-mail. W tym przykładzie wykorzystuje się funkcję `TextBetween` do wyodrębnienia domeny drugiego poziomu z adresu.

Otwórz Edytor ładowania danych i poniżej dodaj skrypt ładowania do nowej sekcji.

Skrypt ładowania zawiera:

* Zestaw danych załadowany do tabeli o nazwie `Example`.

* Tabela zawiera następujące pola:

  * `UserID`

  * `EmailAddress`

Skrypt ładowania

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

Wyniki

Załaduj dane i otwórz arkusz. Utwórz nową tabelę i dodaj te pola jako wymiary:

* ` UserID
                                   `

* `EmailAddress`

Utwórz następujący wymiar wyliczany:

* `=TextBetween(EmailAddress,'@', '.')` do zwrócenia tekstu między znakami `'@'` i `'.'` w polu `EmailAddress`.

Results table

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

Wynik funkcji `TextBetween` zwraca domenę drugiego poziomu dla każdego identyfikatora użytkownika, wyszukując zawartość między określonymi ogranicznikami: `'@'` i `'.'`.