Função SPLIT( )

Retorna um segmento especificado de uma cadeia.

Sintaxe

SPLIT(cadeia; separador; segmento <;qualificador_de_texto>)

Parâmetros

Nome Tipo Descrição
cadeia caractere O valor de onde o segmento será extraído.
separador caractere

Um ou mais caracteres que delimitam segmentos.

Para obter mais informações, consulte Como o caractere separador funciona.

segmento numérico

O segmento a extrair.

Use um número para especificar o segmento a extrair. Por exemplo, para extrair o terceiro segmento, especifique 3.

qualificador_de_texto

opcional

caractere

Um ou mais caracteres que indicam o início e o fim de segmentos de texto.

Se o caractere separador ocorres dentro de um conjunto emparelhado de qualificadores de texto, será lido como texto e não como separador.

O qualificador de texto deve ser entre aspas. Um qualificador de texto apóstrofo deve estar entre aspas e o qualificador de texto aspas deve estar entre apóstrofos.

Dica

Esse parâmetro opcional pode ser útil ao trabalhar com dados de origem importados que retêm separadores e qualificadores de texto.

Saída

Caractere.

Exemplos

Exemplos básicos

Segmentos delimitados por vírgula

Retorna "seg1":

SPLIT("seg1,seg2,seg3"; ","; 1)

Retorna "seg3":

SPLIT("seg1,seg2,seg3"; ","; 3)

Retorna "" (o terceiro segmento está vazio):

SPLIT("seg1,seg2,,seg4"; ","; 3)

Delimitadores de vários caracteres e espaço

Retorna "seg3":

SPLIT("seg1/*seg2/*seg3"; "/*"; 3)

Retorna "Doe":

SPLIT("Jane Doe"; " "; 2)

Escape de delimitadores com um qualificador de texto

Retorna "Doe, Jane", que inclui uma vírgula, lida como texto em vez de separador:

SPLIT('"Doe, Jane";"Smith, John"', ";", 1, '"')

Exemplos avançados

Extrair dígitos de um número de cartão de crédito

Use o comando SPLIT( ) para remover hifens de um número de cartão de crédito.

Variáveis são utilizadas para capturar cada segmento do número de cartão de crédito e os segmentos são concatenados em uma variável adicional.

ASSIGN seg1 = SPLIT("4150-2222-3333-4444"; "-"; 1)
ASSIGN seg2 = SPLIT("4150-2222-3333-4444"; "-"; 2)
ASSIGN seg3 = SPLIT("4150-2222-3333-4444"; "-"; 3)
ASSIGN seg4 = SPLIT("4150-2222-3333-4444"; "-"; 4)
ASSIGN Numcc = seg1 + seg2 + seg3 + seg4

O valor de Numcc é "4150222233334444".

O exemplo citado é uma ilustração da função SPLIT( ) mas os traços podem ser removidos mais eficientemente usando a função EXCLUDE( ).

Observações

Como funciona?

A função SPLIT ( ) quebra os dados de caractere em segmentos baseados em separadores, como espaços e vírgulas, e retorna um segmento especificado.

Quando usar SPLIT( )

Use a função SPLIT( ) para extrair um determinado segmento de dados de um registro ou campo. O segmento deve aparecer na mesma posição em cada registro ou campo.

Como o caractere separador funciona

O caractere separador delimita ou indica os segmentos de dados em uma cadeia de origem.

Em uma cadeia com vários segmentos, a maioria deles aparece entre dois separadores. No entanto, o primeiro segmento pode não ser precedido por um caractere separador e o último segmento pode não ser seguido por um caractere separador.

Por exemplo:

SPLIT("seg1,seg2,seg3"; ","; 1)

Se a cadeia de origem começar com um separador, o segmento a seguir será tratado como o segmento 2.

Retorna "seg1":

SPLIT(",seg1,seg2,seg3"; ";", 2)

Diferenciação de maiúsculas e minúsculas

Se separador ou qualificador_de_texto especificar caracteres que têm versões maiúscula e minúscula, a caixa usada deve corresponder à caixa do separador ou qualificador de texto nos dados.

Funções relacionadas

SPLIT( ) e SUBSTR( ) retornam um segmento de dados de uma cadeia de origem maior.

  • SPLIT( ) identifica o segmento de acordo com um caractere separador.
  • SPLIT( ) identifica o segmento de acordo com uma posição de caractere numérica.
Guia de scripting do ACL 14.1