# TextBetween Skript- und Diagrammfunktion

TextBetween() liefert den Text im Eingabestring, der zwischen den Zeichen angezeigt wird, die als Trennzeichen festgelegt wurden.

Syntax:

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

Rückgabe Datentyp: String

Argumente

| Argument | Beschreibung |
| --- | --- |
| text | Der Original-String. |
| delimiter1 | Gibt das erste Trennzeichen (bzw. String) an, nach dem in text gesucht werden soll. |
| delimiter2 | Gibt das zweite Trennzeichen (bzw. String) an, nach dem in text gesucht werden soll. |
| n | Definiert, zwischen welchem Vorkommen des Trennzeichenpaars gesucht werden soll. Ein Wert von 2 gibt beispielsweise die Zeichen zwischen dem zweiten Vorkommen von delimiter1 und dem zweiten Vorkommen von delimiter2 zurück. |

Beispiel: Diagrammformeln

| Beispiel | Ergebnis |
| --- | --- |
| `TextBetween( '<abc>',  			'<', '>' )` | Liefert `abc` |
| `TextBetween( '<abc><de>',   '<', '>',2 )` | Liefert `de` |
| `TextBetween( 'abc', '<', '>' )` | Liefert `NULL`<br><br>Wenn eines der Trennzeichen im String nicht gefunden wird, wird `NULL` zurückgegeben. |
| `TextBetween( '<a<b', '<', '>' )` | Liefert `NULL`<br><br>Wenn eines der Trennzeichen nicht im String gefunden wird, wird `NULL` zurückgegeben. |
| `TextBetween( '<>',  			'<', '>' )` | Gibt einen String mit Nulllänge zurück. |
| `TextBetween( '<abc>',  			'<', '>', 2 )` | Gibt `NULL` zurück, da n größer als die Anzahl der Vorkommen der Trennzeichen ist. |

## Beispiel – Grundlegendes zu „TextBetween“

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

#### Diagrammformel

Übersicht

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Ein Feld in der Datentabelle heißt `InputText`.

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie dieses Feld als Dimension hinzu:

* ` InputText
                                   `

Erstellen Sie die folgenden dynamischen Dimensionen:

* `=TextBetween(InputText,'<','>')`, um die erste Instanz der Zeichen zu berechnen, die zwischen den Trennzeichen `'<'` und `'>'` im Feld `InputText` angezeigt werden.

* `=TextBetween(InputText,'<','>',2)`, um die zweite Instanz der Zeichen zu berechnen, die zwischen den Trennzeichen `'<'` und `'>'` im Feld `InputText` angezeigt werden.

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 |

In der ersten dynamischen Dimension gibt die Ausgabe der Funktion `TextBetween` die erste Instanz der Zeichen zurück, die zwischen den Trennzeichen `'<'` und `'>'` angezeigt werden. Zeile 1 gibt zum Beispiel `abc` zurück. Die zweite dynamische Dimension enthält ein Argument `n` von `2`. Daher gibt die Ausgabe die zweite Instanz der Zeichen zurück, die zwischen den Trennzeichen `'<'` und `'>'` angezeigt werden. Zeile 1 gibt zum Beispiel `de` zurück.

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

#### Ladeskript

Der folgende Code zeigt, wie Sie die Funktion in einem Ladeskript verwenden können.

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

Ergebnistabelle

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

## Beispiel – Szenario für „TextBetween“

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

#### Diagrammformel

Übersicht

Ein Datensatz enthält eine Datentabelle mit E-Mail-Adressen. In diesem Beispiel wird die Funktion `TextBetween` verwendet, um die Domäne der zweiten Ebene aus der Adresse zu extrahieren.

Öffnen Sie den Dateneditor und fügen Sie das Ladeskript unten in einen neuen Abschnitt ein.

Das Ladeskript umfasst:

* Datensatz, der in eine Datentabelle namens `Example` geladen wird

* Die folgenden Felder in der Datentabelle:

  * `UserID`

  * `EmailAddress`

Ladeskript

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

Ergebnisse

Laden Sie die Daten und öffnen Sie ein Arbeitsblatt. Erstellen Sie eine neue Tabelle und fügen Sie die folgenden Felder als Dimensionen hinzu:

* ` UserID
                                   `

* `EmailAddress`

Erstellen Sie die folgende berechnete Dimension:

* `=TextBetween(EmailAddress,'@', '.')`, um den Text zwischen den Zeichen `'@'` und `'.'` im Feld `EmailAddress` zurückzugeben.

Results table

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

Die Ausgabe der Funktion `TextBetween` gibt die Domäne der zweiten Ebene für jede Benutzer-ID zurück, indem sie nach Inhalten zwischen den angegebenen Trennzeichen sucht: `'@'` und `'.'`.