# TextBetween Skript- och diagramfunktion

TextBetween() returnerar texten i indatasträngen som finns mellan de tecken som definierats som avgränsare.

Syntax:

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

Returnerad datatyp: sträng

Argument

| Argument | Beskrivning |
| --- | --- |
| text | Den ursprungliga strängen. |
| delimiter1 | Anger det första avgränsartecknet (eller strängen) som ska sökas efter i text. |
| delimiter2 | Anger det andra avgränsartecknet (eller strängen) som ska sökas efter i text. |
| n | Definierar vilken förekomst av avgränsarparet som ska sökas emellan. Till exempel returnerar värdet 2 tecknen mellan den andra förekomsten av delimiter1 och den andra förekomsten av delimiter2. |

Exempel: diagramuttryck

| Exempel | Resultat |
| --- | --- |
| `TextBetween( '<abc>',  			'<', '>' )` | Returnerar `abc` |
| `TextBetween( '<abc><de>',   '<', '>',2 )` | Returnerar `de` |
| `TextBetween( 'abc', '<', '>' )` | Returnerar `NULL`<br><br>Om någon av avgränsarna inte hittas i strängen returneras `NULL`. |
| `TextBetween( '<a<b', '<', '>' )` | Returnerar `NULL`<br><br>Om någon av avgränsarna inte hittas i strängen returneras `NULL`. |
| `TextBetween( '<>',  			'<', '>' )` | Returnerar en sträng med längden noll. |
| `TextBetween( '<abc>',  			'<', '>', 2 )` | Returnerar `NULL`, eftersom n är större än antalet förekomster av avgränsarna. |

## Exempel – grunderna i TextBetween

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

#### Diagramuttryck

Översikt

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Ett fält i datatabellen heter `InputText`.

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till det här fältet som en dimension:

* ` InputText
                                   `

Skapa följande beräknade dimensioner:

* `=TextBetween(InputText,'<','>')` för att beräkna den första förekomsten av de tecken som visas mellan avgränsarna `'<'` och `'>'` i fältet `InputText`.

* `=TextBetween(InputText,'<','>',2)` för att beräkna den andra förekomsten av de tecken som visas mellan avgränsarna `'<'` och `'>'` i fältet `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 |

I den första beräknade dimensionen returnerar utdatan från `TextBetween`-funktionen den första förekomsten av de tecken som visas mellan avgränsarna `'<'` och `'>'`. Till exempel, rad 1 returnerar `abc`. Den andra beräknade dimensionen har ett `n`-argument på `2`, så utdatan returnerar den andra förekomsten av de tecken som visas mellan avgränsarna `'<'` och `'>'`. Till exempel, rad 1 returnerar `de`.

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

#### Laddningsskript

Följande kod visar hur du använder funktionen i ett laddningsskript.

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

Resultattabell

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

## Exempel – TextBetween-scenario

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

#### Diagramuttryck

Översikt

En datauppsättning innehåller en datatabell med e-postadresser. I det här exemplet används funktionen `TextBetween` för att extrahera andra nivåns domän från adressen.

Öppna dataladdningsredigeraren och lägg till laddningsskriptet nedan i ett nytt delavsnitt.

Laddningsskriptet innehåller:

* En datauppsättning som läses in i en datatabell som heter `Example`.

* Följande fält i datatabellen:

  * `UserID`

  * `EmailAddress`

Laddningsskript

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

Resultat

Ladda data och öppna ett ark. Skapa en ny tabell och lägg till dessa fält som dimensioner:

* ` UserID
                                   `

* `EmailAddress`

Skapa följande beräknade dimension:

* `=TextBetween(EmailAddress,'@', '.')` för att returnera texten mellan tecknen `'@'` och `'.'` inom fältet `EmailAddress`.

Results table

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

Utdata från `TextBetween`-funktionen returnerar andranivå-domänen för varje användar-ID genom att söka efter innehåll mellan de angivna avgränsarna: `'@'` och `'.'`.