La función Splitter.SplitTextByCharacterTransition devuelve una función que divide el texto que recibe como argumento en bloques separados por una transición de un tipo de carácter a otro.
Splitter.SplitTextByCharacterTransition(
before as anynonnull,
after as anynonnull
) as function
- before: condición a cumplir por el carácter anterior al posible delimitador
- after: condición a cumplir por el carácter posterior al posible delimitador
Los delimitadores son puntos de la cadena de texto entre dos caracteres.
Los parámetros before y after pueden ser una lista de caracteres o una función que devuelve un valor booleano a partir de un carácter.
Se considerará un delimitador aquel punto de la cadena de texto para el que se cumplan ambas condiciones. En el caso de utilizar funciones (en un parámetro o en ambos), se considerará satisfecha la condición cuando la función devuelva el valor lógico True.
En este ejemplo partimos de un texto, "InteractiveChaos.com, data.science", y parametrizamos la función Splitter.SplitTextByCharacterTransition de forma que se considere un delimitador cada vez que una vocal se muestre seguida de las letras "m" o "n":
Splitter.SplitTextByCharacterTransition(
{"a", "e", "i", "o", "u"},
{"m", "n"}
)(text)
En este otro ejemplo utilizamos dos funciones para determinar el cumplimiento de las condiciones: la primera devuelve el valor booleano True si el carácter anterior es una "C". La segunda devuelve el valor True siempre. El resultado es que se considerará un delimitador cualquier punto precedido por una "C":
let
text = "InteractiveChaos.com, data.science",
before_function = (m) => m = "C",
after_function = (n) => true
in
Splitter.SplitTextByCharacterTransition(
before_function,
after_function
)(text)