Tutorial de DAX

Text.BetweenDelimiters


La función Text.BetweenDelimiters devuelve la subcadena de un string que haya entre dos delimitadores.

Sintaxis

Text.BetweenDelimiters(
    text as nullable text,
    startDelimiter as text,
    endDelimiter as text,
    optional startIndex as any,
    optional endIndex as any
) as any

Parámetros
  • text: cadena de texto de la que extraer la subcadena
  • startDelimiter: delimitador que precede a la subcadena a devolver
  • endDelimiter: delimitador que sigue a la subcadena a devolver
  • startIndex: (opcional) número de ocurrencias del delimitador a ignorar antes de determinar el que va a preceder a la subcadena a devolver
  • endIndex: (opcional) número de ocurrencias del delimitador a ignorar antes de determinar el que va a seguir a la subcadena a devolver, número relativo a startIndex
Ejemplos

Por defecto, la función Text.BetweenDelimiters va a buscar la primera aparición de startDelimiter y va a devolver todo el string entre dicha posición y la primera aparición (posterior a startDelimiter) de endDelimiter:

Text.BetweenDelimiters("2020.04.19.14", ".", ".")

"04"

Función Text.BetweenDelimiters

Obsérvese que el endDelimiter que determina el final de la subcadena a devolver es el primero que siga a startDelimiter. Es decir, si existe algún endDelimiter antes del startDelimiter, se ignora. De esta forma, en el siguiente ejemplo queremos extraer la cadena que siga a la primera aparición del carácter "." y que preceda al carácter "/" (a la primera aparición del carácter "/" tras el "."), por lo que se ignora el "/" que hay al principio de la cadena de texto:

Text.BetweenDelimiters("/2020.04/19.14", ".", "/")

"04"

Función Text.BetweenDelimiters

 

Si se incluye el parámetro startIndex, se ignorará dicho número de delimitadores de comienzo ("startDelimiter"). En el siguiente ejemplo el delimitador que marca el comienzo de la cadena a devolver es el carácter ".", pero se indica que se ignore el primero, por lo que la función devuelve el texto "14":

Text.BetweenDelimiters(
    "/2020.04/19.14/20.10",
    ".", "/",
    1
    )

"14"

Función Text.BetweenDelimiters

En este otro ejemplo, se incluye tanto el parámetro startIndex como el parámetro endIndex. Concretamente se especifica que se salte el primer carácter "." antes de considerar el que va a determinar el comienzo de la cadena a devolver, y que se salte el primer carácter "/" tras el carácter anterior antes de determinar el que va a marcar el final de la cadena a devolver:

Text.BetweenDelimiters(
    "/2020.04/19.14/20.10/07",
    ".", "/",
    1, 1
    )

"14/20.10"

Función Text.BetweenDelimiters

Los delimitadores no tienen por qué ser caracteres, pueden ser cadenas de texto más largas:

Text.BetweenDelimiters("1aa23bb", "aa", "bb")

"23"

Función Text.BetweenDelimiters
Categoría
Funciones de texto
Enviado por admin el Mar, 21/04/2020 - 11:00