Splitter.SplitTextByRanges

La función Splitter.SplitTextByRanges devuelve una función que divide el texto que recibe como argumento en bloques definidos por su posición y su longitud.

Sintaxis

Splitter.SplitTextByRanges(
    ranges as list,
    optional startAtEnd as nullable logical
) as function

Parámetros
  • ranges: lista de listas conteniendo el índice o posición del comienzo y la longitud de cada bloque
  • startAtEnd: (opcional) valor que determina si los bloques se forman desde el comienzo del texto o desde el final
Información adicional

El primer carácter recibe el índice 0.

Si el parámetro startAtEnd toma el valor true, los grupos comenzarán a crearse desde el final de la cadena de texto, en cuyo caso es el último carácter el que recibe el índice cero y los índices irán creciendo según nos movemos por el texto de derecha a izquierda.

Los bloques extraídos pueden solapar.

Si un bloque tiene una longitud superior al número de caracteres disponibles, solo estará formado por los caracteres disponibles.

Si un bloque queda definido por una posición superior al número caracteres del texto, quedará representado por un texto vacío en el resultado.

Ejemplos

En este primer ejemplo partimos del texto "abcdefghijklmnopqrstuvwxyz" y extraemos dos bloques: el primero comenzando en el carácter que ocupa la posición 2 y con una longitud de 3 caracteres, y el segundo comenzando en el carácter que ocupa la posición 7 y con una longitud de 2 caracteres:

let
    text = "abcdefghijklmnopqrstuvwxyz"
in
    Splitter.SplitTextByRanges(
        {
            {2, 3},
            {7, 2}
        }
    )(text)

Función M Splitter.SplitTextByRanges

Los bloques pueden solapar: En este segundo ejemplo se extraen dos bloques de 10 caracteres cada uno, el primero comenzando en la posición 5 y el segundo en la posición 10:

let
    text = "abcdefghijklmnopqrstuvwxyz"
in
    Splitter.SplitTextByRanges(
        {
            {5, 10},
            {10, 10}
        }
    )(text)

Función M Splitter.SplitTextByRanges

Si un bloque queda definido por una longitud mayor que el número de caracteres disponibles, solo éstos se incluirán en el bloque:

let
    text = "abcdefghijklmnopqrstuvwxyz"
in
    Splitter.SplitTextByRanges(
        {
            {2, 3},
            {7, 2},
            {20, 99}
        }
    )(text)

Función M Splitter.SplitTextByRanges

Si algún bloque comienza en una posición mayor que la longitud del texto, quedará representado en el resultado por un texto vacío:

let
    text = "abcdefghijklmnopqrstuvwxyz"
in
    Splitter.SplitTextByRanges(
        {
            {2, 3},
            {7, 2},
            {99, 99}
        }
    )(text)

Función M Splitter.SplitTextByRanges

Si el parámetro startAtEnd toma el valor true, los grupos comenzarán a crearse desde el final de la cadena de texto:

let
    text = "abcdefghijklmnopqrstuvwxyz"
in
    Splitter.SplitTextByRanges(
        {
            {2, 3},
            {7, 2}
        },
        true
    )(text)

Función M Splitter.SplitTextByRanges
Categoría
Funciones de separación
Submitted by admin on Thu, 09/03/2020 - 23:28