Funciones de cadenas
Contenido
Cadenas
Conjunto de Funciones de fórmula orientadas al manejo de cadenas.
countString
Devuelve el número de veces que la cadena contiene la subcadena la búsqueda la hace por número de coincidencias.
Sintaxis
countString(cadena, subcadena)
Parámetros
cadena
Expresión alfabética de referencia.
subcadena
Expresión alfabética a buscar en la cadena.
Ejemplos
countString("velneo", "e" )
= 2
countString("bcaaaadefgh", "aa" )
= 3 (bcaaaadefgh, bcaaaadefgh, bcaaaadefgh).
countStrig("a", "")
= 2 (devuelve una coincidencia por cada "no carácter", empezando por la posición 0. Si el segundo parámetro es dinámico, se recomienda controlarlo y no ejecutar el countString si está vacío).
fillString
Devuelve una cadena con la repetición de la que pasamos como parámetro.
Sintaxis
fillString(cadena, nRepeticiones)
Parámetros
cadena
Expresión alfabética a repetir.
nRepeticiones
Número de repeticiones.
Ejemplo
fillString("*", "4 )
= ****
getStringRegExp
Devuelve la cadena que se corresponde con la subexpresión regular a partir de la posición indicada teniendo en cuenta si distinguimos mayúsculas y minúsculas. Para la subexpresión 0 devuelve toda cadena.
Sintaxis
getStringRegExp(cadena, expresionRegular, posIni, caseSensitive, numSubExpresion)
Parámetros
cadena
Expresión alfabética de referencia.
expresionRegular
Expresión regular con el texto a encontrar en la cadena.
posIni
Posición inicial de la búsqueda.
caseSensitive
1 distingue mayúsculas y minúsculas, 0 no.
numSubExpresion
Si la expresión regular establecida en el segundo parámetro contiene varios grupos de expresiones regulares, en este parámetro podremos hacer que busque coincidencias de todas las subexpresiones (0) o de una en concreto; en cuyo caso escribiremos un valor comprendido entre 1 y el número total de subexpresiones declaradas. La primera subexpresión será la 1, la segunda la 2 y así sucesivamente.
Ver el capítulo expresiones regulares para saber cómo se construye una expresión regular.
Uso del parámetro numSubExpresion de la función getStringRegExp
Tal y como se explica en el capítulo capítulo expresiones regulares, podemos agrupar distintas subexpresiones de una expresión regular simplemente cerrándolas entre paréntesis. Si en la expresión regular escribimos (a)|(b)|(c) y el parámetro numSubExpresion de esta función es 0, se buscarán coincidencias de las tres subexpresiones, es decir, de “a”, “b” o “c” en la cadena. Si quisiésemos que solamente se buscasen coincidencias de una de ellas, por ejemplo b, sin tener que modificar la expresión regular, bastará con escribir en el parámetro numSubExpresion de esta función en valor 2 que se corresponde con el número de subexpresión declarado; (a) sería 1 y (c) sería 3.
Ejemplos
getStringRegExp("Hay 1235 personas", "\\d{1,3}", 0, 0, 0)
= 123
getStringRegExp("abcd", "(a)(b)(c)(d)", 0, 0, 0)
= abcd
getStringRegExp("( 2 * 4 = 8 )", "[0-9]", 0, 0, 0)
= 2
getStringRegExp("( 2 * 4 = 8 )", "^[0-9]", 0, 0, 0)
= No generará ocurrencia pues el primer carácter de la cadena no es un número.
indexOfRegExp
Devuelve la posición de la cadena en la que encontramos la expresión regular a partir de la posición indicada teniendo en cuenta si distinguimos o no entre mayúsculas y minúsculas.
Devolverá -1 si no la encuentra.
Sintaxis
indexOfRegExp(cadena, expresionRegular, posIni, caseSensitive)
Parámetros
cadena
Expresión alfabética de referencia.
indexOfString
Devuelve la posición del inicio de la subcadena de texto dentro de la cadena o -1 si no la contiene.
Sintaxis
indexOfString(cadena, subcadena, posInicio, caseSensitive)
Parámetros
cadena
Expresión alfabética de referencia.
subcadena
Expresión alfabética a buscar en la cadena.
posInicio
Posición de la cadena a partir de la cual se desea buscar la subcadena. La primera posición es la 0.
caseSensitive
1 distingue mayúsculas y minúsculas, 0 no.
Ejemplo
indexOfString("Velneo 17", "1", 0, 1)
= 7
insertString
Inserta la subcadena en la posición deseada de la cadena.
Sintaxis
insertString(cadena, posición, subcadena)
Parámetros
cadena
Expresión alfabética de referencia.
posición
Posición, dentro de la cadena, donde se desea insertar la subcadena. La primera posición es la 0.
subcadena
Expresión alfabética a insertar en la cadena.
Ejemplo
insertString("Velneo 7", 7, "V")
= Velneo
isEmpty
Devuelve true (1) si la cadena pasada como parámetro esta vacía.
Sintaxis
isEmpty(parámetro)
Parámetros
parámetro
Cadena a evaluar. Esta cadena puede ser un literal, una variable alfabética, un campo alfabético, el retorno de una función, etc.
Ejemplo
isEmpty("Velneo")
= 0
Debemos tener en cuenta que es una función de cadena, es decir, interpreta el parámetro como si se tratase de un texto.
No debemos usar esta función con campos numéricos. En el caso de que queramos realizar la comprobación de si está vació o no el campo numérico, lo correcto es hacer la comprobación haciendo la comprobación con el operador correspondiente.
Ejemplos:
choose(#CAMPO = 0…)
! #CAMPO
left
Extracta caracteres por la izquierda de la cadena. El primer carácter tiene la posición 1.
Sintaxis
left(cadena, longitud)
Parámetros
cadena
Expresión alfabética de referencia.
longitud
Número de caracteres a extraer.
Ejemplo
left("Velneo", 6)
= Velneo
leftJustified
Devuelve una cadena, justificada a la izquierda, de la longitud especificada, rellenando por la derecha, si es necesario, con un carácter de relleno.
Sintaxis
leftJustified(cadena, longitud, relleno)
Parámetros
cadena
Expresión alfabética de referencia.
longitud
Longitud total de la cadena a generar.
relleno
Carácter de relleno. Por defecto será un espacio en blanco.
Este comando no cortará la cadena en el caso de que la longitud establecida sea menor que la longitud de la cadena de origen, por lo tanto, debemos asegurarnos de que la cadena de origen no tenga una longitud mayor que la cadena que queremos devolver.
Ejemplo
leftJustified("250 €", 20, "*")
= 250 €***************
leftWords
Extrae desde la parte izquierda de la cadena hasta una determinada posición, sin cortar palabras.
Sintaxis
leftWords(cadena, longitud)
Parámetros
cadena
Expresión alfabética de referencia.
longitud
Posición hasta la que se desean extraer palabras.
Ejemplo
leftWords("Esto es una prueba", 10 )
= Esto es
len
Devuelve la longitud de una cadena.
Sintaxis
len(cadena)
Parámetros
cadena
Expresión alfabética de referencia.
Ejemplo
len("ab")
= 2
mid
Extrae caracteres de una cadena a partir de una posición determinada.
Sintaxis
mid(cadena, posición, longitud)
Parámetros
cadena
Expresión alfabética de referencia.
posición (opcional)
Posición dentro de la cadena a partir de la cual se desea extraer los caracteres. La primera posición será la 0. Si no se establece ningún valor se asumirá 0 como posición.
Longitud
Longitud total de la cadena a extraer. Si se omite este parámetro, extraerá desde la posición indicada hasta el final de la cadena.
Ejemplos
mid("abcdefg", 2, 2 )
= cd
mid("abcdefg", 2)
= cdefg
mid("abcdefg", 2, 0 )
= ""
removeAccents
Devuelve la cadena pasada como parámetro sin tildes.
Sintaxis
removeAccents(cadena)
Parámetros
cadena
Expresión alfabética de referencia.
Ejemplo
removeAccents("àéô")
= aeo
removeCharsAt
Elimina de una cadena un número determinado de caracteres determinados a partir una posición.
Sintaxis
removeCharsAt(cadena, posición, longitud)
Parámetros
cadena
Expresión alfabética de referencia.
posición
Posición a partir de la cual se desea borrar caracteres. La primera posición es 0.
longitud
Número de caracteres a borrar.
Ejemplo
removeCharsAt("velneo 17", 6, 2 )
= velneo7
removeString
Elimina de una cadena todas las ocurrencias de una subcadena.
Sintaxis
removeString(cadena, subcadena)
Parámetros
cadena
Expresión alfabética de referencia.
subcadena
Expresión alfabética a quitar de la cadena. Distingue entre mayúsculas y minúsculas.
Ejemplo
removeString("Aa", "A" )
= a
replaceString
Sustituye, dentro de una cadena, todas las ocurrencias de una subcadena por otra subcadena.
Sintaxis
replaceString(cadena, subcadenaPre, subcadenaPost)
Parámetros
cadena
Expresión alfabética de referencia.
subcadenaPre
Expresión alfabética a buscar en la cadena.
subcadenaPost
Expresión alfabética a sustituir en la cadena por los caracteres de la subcadenaPre. Distingue entre mayúsculas y minúsculas.
Ejemplo
replaceString("velneo", "v", "V" )
= Velneo
reverseString
Devuelve invertida la cadena pasada como parámetro.
Sintaxis
reversetString(cadena)
Parámetros
cadena
Expresión alfabética de referencia.
Ejemplo
reverseString("abc")
= cba
right
Extracta caracteres por la parte derecha de la cadena. El primer carácter tiene la posición 1.
Sintaxis
right(cadena, longitud)
Parámetros
cadena
Expresión alfabética de referencia.
longitud
Número de caracteres a extraer.
Ejemplo
right("abc", 1)
= c
rightJustified
Devuelve una cadena, justificada a la derecha, de la longitud especificada, rellenando por la izquierda, si es necesario, con un carácter de relleno.
Sintaxis
rightJustified(cadena, longitud, relleno)
Parámetros
cadena
Expresión alfabética de referencia.
longitud
Longitud total de la cadena a generar.
relleno
Carácter de relleno. Por defecto será un espacio en blanco.
Este comando no cortará la cadena en el caso de que la longitud establecida sea menor que la longitud de la cadena de origen, por lo tanto, debemos asegurarnos de que la cadena de origen no tenga una longitud mayor que la cadena que queremos devolver.
Ejemplo
rightJustified("250 €", 10, "0")
= 00000250 €
rightWords
Extrae desde una determinada posición hasta la parte derecha de la cadena, sin cortar palabras.
Sintaxis
rightWords(cadena, longitud)
Parámetros
cadena
Expresión alfabética de referencia.
longitud
Posición a partir de la cual desean extraer palabras.
Ejemplo
rightWords("Esto es una prueba", 11 )
= prueba
stringSection
Devuelve una sección de una cadena delimitada por un separador en una posición dada.
Sintaxis
stringSection(cadena, separador, pos, seccionInclSepIni, seccionInclSepFin)
Parámetros
cadena
Expresión alfabética de referencia.
separador
Expresión alfabética correspondiente al carácter que se usa como separador dentro de la cadena de referencia.
pos
Posición del ítem a extraer de la cadena. La primera posición será la 0.
seccionInclSepIni
Este parámetro será resuelto con un 1 si queremos que en la sección extraída se incluya el separador inicial o un 0 en el caso contrario.
seccionInclSepFin
Este parámetro será resuelto con un 1 si queremos que en la sección extraída se incluya el separador final o un 0 en el caso contrario.
Ejemplos
stringSection("uno|dos|3", "|", 1, 0, 0)
= dos
stringSection("uno|dos|3", "|", 1, 1, 0)
= |dos
stringSection("uno|dos|3", "|", 1, 0, 1)
= dos|
stringSection("uno|dos|3", "|", 1, 1, 1)
= |dos|
stringToHex
Devuelve cada carácter de la cadena Latin1 pasada como parámetro en formato hexadecimal. Es decir, toma cada carácter de la cadena de origen y devuelve el código hexadecimal correspondiente.
Sintaxis
stringToHex(cadena)
Parámetros
Cadena
Expresión de tipo fórmula con la cadena Latin1 que se desea convertir en hexadecimal. Podemos usar el asistente para edición de fórmulas para su especificación.
Ejemplo
stringToHex("Hola")
= 486F6C61
stripHtml
Devuelve una cadena quitándole todas las etiquetas html que tenga. Esta función es útil cuando disponemos de una cadena con código html y deseamos quitar todas las etiquetas html del mismo.
Sintaxis
stripHtml(cadena)
Parámetros
Cadena
Expresión alfabética de referencia.
Ejemplo
stripHtml("<HTML><BODY>Hola</BODY></HTM>" )
= Hola
titleStyle
Convierte el primer carácter de cada palabra de una cadena en mayúscula y el resto en minúscula.
Sintaxis
titleStyle(cadena)
Parámetros
cadena
Expresión alfabética de referencia.
Ejemplo
titleStyle("john doe")
= John Doe
toLower
Devuelve una cadena convertida a minúsculas.
Sintaxis
toLower(cadena)
Parámetros
cadena
Expresión alfabética de referencia.
Ejemplo
toLower("ABCdef")
= abcdef
toUpper
Devuelve una cadena convertida a mayúsculas.
Sintaxis
toUpper(cadena)
Parámetros
cadena
Expresión alfabética de referencia.
Ejemplo
toUpper("ABCdef")
= ABCDEF
trimmedString
Devuelve la cadena omitiendo espacios no significativos al inicio y al final de la misma.
Sintaxis
trimmedString(cadena)
Parámetros
cadena
Expresión alfabética de referencia.
Ejemplo
trimmedString(" abc ")
= abc (si los espacios a ambos lados de la cadena)
Última actualización