La documentación que aparece a continuación se genera a partir de la system table
system.functions.alphaTokens
a-z y A-Z y devuelve un Array con las subcadenas seleccionadas.
Sintaxis
splitByAlpha
Argumentos
s— La cadena que se va a dividir.Stringmax_substrings— Opcional. Cuandomax_substrings > 0, el número de subcadenas devueltas no será mayor quemax_substrings; de lo contrario, la función devolverá tantas subcadenas como sea posible.Int64
s. Array(String)
Ejemplos
Ejemplo de uso
Query
Response
arrayStringConcat
array_to_string
Argumentos
arr— El array que se va a concatenar.Array(T)separator— Opcional. Cadena separadora. De forma predeterminada, una cadena vacía.const String
String
Ejemplos
Ejemplo de uso
Query
Response
extractAllGroupsVertical
extractAllGroups
Argumentos
s— Cadena de entrada de la que extraer.StringoFixedStringregexp— Expresión regular con la que buscar coincidencias.const Stringoconst FixedString
Array(Array(String))
Ejemplos
Ejemplo de uso
Query
Response
ngrams
N.
Sintaxis
s— Cadena de entrada.StringoFixedStringN— La longitud del n-grama.const UInt8/16/32/64
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
reverseBySeparator
- reverseBySeparator(‘www.google.com’) devuelve ‘com.google.www’
- reverseBySeparator(‘a/b/c’, ’/’) devuelve ‘c/b/a’
- reverseBySeparator(‘x::y::z’, ’::’) devuelve ‘z::y::x’
string— La cadena de entrada cuyo orden de partes se va a invertir.Stringseparator— La cadena separadora que se usa para identificar las partes. Si no se proporciona, se usa ’.’ (punto). Valor predeterminado: ’.’String
String
Ejemplos
Inversión básica de dominios
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
Query
Response
splitByChar
separator de exactamente un carácter.
Se pueden obtener subcadenas vacías si el separador aparece al principio o al final de la cadena, o si hay varios separadores consecutivos.
La configuración
splitby_max_substrings_includes_remaining_string (valor predeterminado: 0) controla si la cadena restante se incluye en el último elemento del Array resultante cuando el argumento max_substrings > 0.- Un separador aparece al principio o al final de la cadena
- Hay varios separadores consecutivos
- La cadena original
sestá vacía
separator— El separador debe ser un carácter de un solo byte.Strings— La cadena que se debe dividir.Stringmax_substrings— Opcional. Simax_substrings > 0, el array devuelto contendrá como máximomax_substringssubcadenas; de lo contrario, la función devolverá tantas subcadenas como sea posible. El valor predeterminado es0.Int64
Array(String)
Ejemplos
Ejemplo de uso
Query
Response
splitByNonAlpha
La configuración
splitby_max_substrings_includes_remaining_string (predeterminada: 0) controla si la cadena restante se incluye en el último elemento del array resultante cuando el argumento max_substrings > 0.s— La cadena que se va a dividir.Stringmax_substrings— Opcional. Cuandomax_substrings > 0, las subcadenas devueltas no serán más demax_substrings; de lo contrario, la función devolverá tantas subcadenas como sea posible. Valor predeterminado:0.Int64
s. Array(String)
Ejemplos
Ejemplo de uso
Query
Response
splitByRegexp
- se produce una coincidencia no vacía de la expresión regular al principio o al final de la cadena
- hay varias coincidencias no vacías consecutivas de la expresión regular
- la cadena original está vacía mientras que la expresión regular no lo está.
La configuración
splitby_max_substrings_includes_remaining_string (valor predeterminado: 0) controla si la cadena restante se incluye en el último elemento del array de resultados cuando el argumento max_substrings > 0.regexp— Expresión regular. Constante.StringoFixedStrings— La cadena que se debe dividir.Stringmax_substrings— Opcional. Cuandomax_substrings > 0, el número de subcadenas devueltas no será mayor quemax_substrings; de lo contrario, la función devolverá tantas subcadenas como sea posible. Valor predeterminado:0.Int64
s. Array(String)
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
splitByString
separator constante compuesto por varios caracteres en un array de subcadenas.
Si la cadena separator está vacía, dividirá la cadena s en un array de caracteres individuales.
Pueden seleccionarse subcadenas vacías cuando:
- Un separador no vacío aparece al principio o al final de la cadena
- Hay varios separadores no vacíos consecutivos
- La cadena original
sestá vacía mientras que el separador no lo está
La configuración
splitby_max_substrings_includes_remaining_string (valor predeterminado: 0) controla si la cadena restante se incluye en el último elemento del array de resultados cuando el argumento max_substrings > 0.separator— El separador.Strings— La cadena que se va a dividir.Stringmax_substrings— Opcional. Cuandomax_substrings > 0, el número de subcadenas devueltas no será mayor quemax_substrings; de lo contrario, la función devolverá tantas subcadenas como sea posible. Valor predeterminado:0.Int64
s Array(String)
Ejemplos
Ejemplo de uso
Query
Response
Query
Response
splitByWhitespace
La configuración
splitby_max_substrings_includes_remaining_string (por defecto: 0) controla si la cadena restante se incluye en el último elemento del array de resultado cuando el argumento max_substrings > 0.s— La cadena que se va a dividir.Stringmax_substrings— Opcional. Cuandomax_substrings > 0, las subcadenas devueltas no serán más demax_substrings; de lo contrario, la función devolverá tantas subcadenas como sea posible. Valor predeterminado:0.Int64
s. Array(String)
Ejemplos
Ejemplo de uso
Query
Response
tokens
splitByNonAlphadivide cadenas por caracteres ASCII no alfanuméricos (consulte también la función splitByNonAlpha).splitByString(S)divide cadenas usando determinadas cadenas separadorasSdefinidas por el usuario (consulte también la función splitByString). Los separadores pueden especificarse mediante un parámetro opcional; por ejemplo,tokens(value, 'splitByString', [', ', '; ', '\n', '\\']). Tenga en cuenta que cada cadena puede constar de varios caracteres (', 'en el ejemplo). La lista de separadores predeterminada, si no se especifica explícitamente, es un único espacio en blanco[' '].asciiCJKdivide cadenas en tokens usando reglas de límite de palabra de Unicode (similares a UAX #29). Los caracteres ASCII alfanuméricos y los guiones bajos forman tokens con conectores (:para letras,.y'para caracteres del mismo tipo). Los caracteres Unicode no ASCII pasan a ser tokens de un solo carácter.ngrams(N)divide cadenas en n-gramas de tamaño uniformeN(consulte también la función ngrams). La longitud del n-grama puede especificarse mediante un parámetro entero opcional entre 1 y 8; por ejemplo,tokens(value, 'ngrams', 3). El tamaño predeterminado del n-grama, si no se especifica explícitamente, es 3.sparseGrams(min_length, max_length, min_cutoff_length)divide cadenas en n-gramas de longitud variable de al menosmin_lengthy como máximomax_lengthcaracteres (inclusive) (consulte también la función sparseGrams). A menos que se especifique explícitamente,min_lengthymax_lengthtoman los valores predeterminados 3 y 100. Si se proporciona el parámetromin_cutoff_length, solo se devuelven n-gramas con una longitud mayor o igual quemin_cutoff_length. En comparación conngrams(N), el tokenizadorsparseGramsproduce n-gramas de longitud variable, lo que permite una representación más flexible del texto original. Por ejemplo,tokens(value, 'sparseGrams', 3, 5, 4)genera internamente 3-, 4- y 5-gramas a partir de la cadena de entrada, pero solo se devuelven los 4- y 5-gramas.arrayno realiza tokenización; es decir, cada valor de fila es un token (consulte también la función array).
splitByString, si los tokens no forman un código prefijo, probablemente le convenga que la coincidencia dé prioridad a los separadores más largos.
Para ello, pase los separadores en orden descendente de longitud.
Por ejemplo, con separators = ['%21', '%'], la cadena %21abc se tokenizaría como ['abc'], mientras que separators = ['%', '%21'] se tokenizaría como ['21ac'] (que probablemente no es lo que quería).
Sintaxis
value— La cadena de entrada.StringoFixedStringtokenizer— El tokenizador que se va a usar. Los argumentos válidos sonsplitByNonAlpha,splitByString,asciiCJK,ngrams,sparseGramsyarray. Es opcional; si no se establece explícitamente, el valor predeterminado essplitByNonAlpha.const Stringn— Solo es relevante si el argumentotokenizeresngrams: un parámetro opcional que define la longitud de los ngrams. Si no se establece explícitamente, el valor predeterminado es3.const UInt8separators— Solo es relevante si el argumentotokenizeressplit: un parámetro opcional que define las cadenas separadoras. Si no se establece explícitamente, el valor predeterminado es[' '].const Array(String)min_length— Solo es relevante si el argumentotokenizeressparseGrams: un parámetro opcional que define la longitud mínima de los gramas; el valor predeterminado es 3.const UInt8max_length— Solo es relevante si el argumentotokenizeressparseGrams: un parámetro opcional que define la longitud máxima de los gramas; el valor predeterminado es 100.const UInt8min_cutoff_length— Solo es relevante si el argumentotokenizeressparseGrams: un parámetro opcional que define la longitud mínima de corte.const UInt8
Array
Ejemplos
Tokenizador predeterminado
Query
Response
Query
Response
tokensForLikePattern
tokens, esta función tiene en cuenta la semántica de los patrones LIKE
(como los caracteres comodín al principio y al final) y aplica reglas específicas del tokenizador
para extraer tokens significativos para la coincidencia de patrones.
Admite los mismos conjuntos de argumentos que la función tokens; los argumentos
adicionales después de tokenizer se interpretan según el
tokenizador seleccionado (por ejemplo, n para ngrams, separators para splitByString,
y min_length / max_length [/ min_cutoff_length] para sparseGrams).
Esta función está pensada principalmente para tareas de depuración y pruebas,
y se utiliza internamente para analizar el comportamiento de la tokenización en patrones LIKE.
Sintaxis
value— La cadena de entrada.StringoFixedStringtokenizer— El tokenizador que se utilizará. Los argumentos válidos sonsplitByNonAlpha,splitByString,asciiCJK,ngrams,sparseGramsyarray. Es opcional; si no se establece explícitamente, el valor predeterminado essplitByNonAlpha.const Stringn— Solo es relevante si el argumentotokenizeresngrams: un parámetro opcional que define la longitud de los ngrams. Si no se establece explícitamente, el valor predeterminado es3.const UInt8separators— Solo es relevante si el argumentotokenizeressplit: un parámetro opcional que define las cadenas separadoras. Si no se establece explícitamente, el valor predeterminado es[' '].const Array(String)min_length— Solo es relevante si el argumentotokenizeressparseGrams: un parámetro opcional que define la longitud mínima del gram; el valor predeterminado es 3.const UInt8max_length— Solo es relevante si el argumentotokenizeressparseGrams: un parámetro opcional que define la longitud máxima del gram; el valor predeterminado es 100.const UInt8min_cutoff_length— Solo es relevante si el argumentotokenizeressparseGrams: un parámetro opcional que define la longitud mínima de corte.const UInt8
Array
Ejemplos
Tokenizador predeterminado
Query
Response