Función SPLIT( )

Devuelve un segmento especificado de una cadena.

Sintaxis

SPLIT(cadena; separador; segmento <;calificador_de_texto>)

Parámetros

Nombre Tipo Descripción
cadena carácter El valor del cual extraer el segmento.
separador carácter

El o los caracteres que delimitan segmentos.

Si desea obtener más información, consulte Cómo funciona el carácter separador.

segmento numérico

El segmento que se extraerá.

Utilice un número para especificar qué segmento se extraerá. Por ejemplo, para extraer el tercer segmento, especifique 3.

calificador_de_texto

opcional

carácter

El o los caracteres que indican el inicio y el final de los segmentos de texto.

Si el carácter separador está presente dentro de un par de calificadores de texto, se lo lee como texto y no como separador.

Debe encerrar el calificador de texto entre comillas. Los calificadores de texto de comillas simples deben estar entre comillas dobles, y los calificadores de texto de comillas dobles deben estar entre comillas simples.

Consejo

Este parámetro opcional puede resultar útil al trabajar con datos de origen importados que conservan los separadores y los calificadores de texto.

Salida

Carácter.

Ejemplos

Ejemplos básicos

Segmentos delimitados por comas

Devuelve "seg1":

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

Devuelve "seg3":

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

Devuelve "" (el tercer segmento está vacío):

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

Delimitadores de varios caracteres y espacios

Devuelve "seg3":

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

Devuelve "Doe":

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

Delimitadores de escape con un calificador de texto

Devuelve "Doe, Jane", que incluye una coma que se lee como texto y no como separador:

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

Ejemplos avanzados

Extracción de dígitos de un número de tarjeta de crédito

Utilice el comando SPLIT( ) para quitar guiones de un número de tarjeta de crédito.

Las variables se utilizan para capturar cada segmento del número de tarjeta de crédito y luego los segmentos se concatenan entre sí en una variable 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 ccNum = seg1 + seg2 + seg3 + seg4

El valor de ccNum es “4150222233334444”.

El ejemplo anterior ilustra la función SPLIT ( ), pero tenga en cuenta que se pueden quitar los guiones de forma más eficaz utilizando la función EXCLUDE( ).

Observaciones

Cómo funciona

La función SPLIT( ) divide los datos de caracteres en segmentos en función de los separadores, como comas o espacios y extrae un segmento especificado.

Cuándo usar SPLIT( )

Utilice la función SPLIT( ) para extraer un segmento de datos en particular de un registro o un campo. El segmento debe aparecer en la misma posición en cada registro o campo.

Cómo funciona el carácter separador

El carácter separador delimita o indica los segmentos de datos en una cadena de origen.

En una cadena con una cantidad de segmentos, la mayoría de los segmentos aparecen entre dos separadores. Sin embargo, es posible que el primer segmento no esté antecedido por un carácter separador y que el último segmento no tenga un carácter separador inmediatamente detrás.

Por ejemplo:

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

Si la cadena de origen comienza con un separador, el segmento siguiente al separador se trata como segmento 2.

Devuelve "seg1":

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

Coincidir mayúsc.-minúsc.

Si separador o calificador_de_texto especifica caracteres que tienen tanto una versión en mayúscula como en minúscula, la letra que se utilice debe coincidir con la del separador o el calificador de texto de los datos.

Funciones relacionadas

SPLIT( ) y SUBSTR( ) devuelven un segmento de datos de una cadena de origen más extensa.

  • SPLIT( ) identifica el segmento sobre la base de un carácter separador.
  • SUBSTR( ) identifica el segmento sobre la base de una posición numérica de los caracteres.
Guía de creación de scripts de ACL 14.1