# TextBetween - Função de script e de gráfico

TextBetween() retorna o texto na string de entrada que ocorre entre os caracteres especificados como delimitadores.

Sintaxe:

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

Tipo de dados de retorno: caractere

Argumentos

| Argumento | Descrição |
| --- | --- |
| text | A string original. |
| delimiter1 | Especifica o primeiro caractere delimitador (ou string) para pesquisar em text. |
| delimiter2 | Especifica o segundo caractere delimitador (ou string) para pesquisar em text. |
| n | Define entre qual ocorrência do par separador pesquisar. Por exemplo, um valor de 2 retorna os caracteres entre a segunda ocorrência de delimiter1 e a segunda ocorrência de delimiter2. |

Exemplo: expressões de gráfico

| Exemplo | Resultado |
| --- | --- |
| `TextBetween( '<abc>',  			'<', '>' )` | Retorna `abc` |
| `TextBetween( '<abc><de>',   '<', '>',2 )` | Retorna `de` |
| `TextBetween( 'abc', '<', '>' )` | Retorna `NULL`<br><br>Se algum delimitador não for encontrado na cadeia, `NULL` será retornado. |
| `TextBetween( '<a<b', '<', '>' )` | Retorna `NULL`<br><br>Se algum dos delimitadores não for encontrado na string, `NULL` será retornado. |
| `TextBetween( '<>',  			'<', '>' )` | Retorna uma cadeia de comprimento zero. |
| `TextBetween( '<abc>',  			'<', '>', 2 )` | Retorna ``NULL, pois n é maior que o número de ocorrências dos delimitadores. |

## Exemplo - Fundamentos de TextBetween

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

#### Expressão de gráfico

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Um campo na tabela de dados chamado `InputText`.

Script de carregamento

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esse campo como uma dimensão:

* ` InputText
                                   `

Crie as seguintes dimensões calculadas:

* `=TextBetween(InputText,'<','>')`para calcular a primeira instância dos caracteres que aparecem entre os delimitadores `'<'` e `'>'` no campo `InputText`.

* `=TextBetween(InputText,'<','>',2)`, para calcular a segunda instância dos caracteres que aparecem entre os delimitadores `'<'` e `'>'` no campo `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 |

Na primeira dimensão calculada, a saída da função `TextBetween` retorna a primeira instância dos caracteres que aparecem entre os delimitadores `'<'` e `'>'`. Por exemplo, a linha 1 retorna `abc`. A segunda dimensão calculada tem um argumento `n` de `2`, então a saída retorna a segunda instância dos caracteres que aparecem entre os delimitadores `'<'` e `'>'`. Por exemplo, a linha 1 retorna `de`.

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

#### Script de carregamento

O código a seguir mostra como usar a função em um script de carregamento.

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

Tabela de resultados

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

## Exemplo - Cenário de TextBetween

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

#### Expressão de gráfico

Visão geral

Um conjunto de dados contém uma tabela de dados com endereços de e-mail. Este exemplo usa a função `TextBetween` para extrair o domínio de segundo nível do endereço.

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova seção.

O script de carregamento contém:

* Um conjunto de dados que é carregado em uma tabela de dados denominada `Example`.

* Os campos a seguir na tabela de dados:

  * `UserID`

  * `EmailAddress`

Script de carregamento

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

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões:

* ` UserID
                                   `

* `EmailAddress`

Crie a seguinte dimensão calculada:

* `=TextBetween(EmailAddress,'@', '.')` para retornar o texto entre os caracteres `'@'` e `'.'` dentro do campo `EmailAddress`.

Results table

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

A saída da função `TextBetween` retorna o domínio de segundo nível para cada ID de usuário, pesquisando o conteúdo entre os delimitadores especificados: `'@'` e `'.'`.