Este es otro ejercicio de codewars que estuve a punto de resolver correctamente, aunque al final utilicé unos métodos no recomendados para el ejercicio, pero funcionaron.
El problema era el siguiente:
Dada una cadena aleatoria, partirla en diferentes filas cada que se encontrara cualquier vocal. Por ejemplo, veamos esta cadena:
ah7ki3eumgpa72mdpwe8od
Si la partimos o hacemos un split en cada vocal, sin incluir las vocales, tendríamos un resultado así:
h7k 3 mgp 72mdpw 8 d
Pues exactamente eso se tenía que hacer usando una consulta.
En el mismo ejercicio nos aconsejan, aunque no es obligatorio, usar expresiones regulares. En PostgreSQL existe una función que, con un valor y una expresión regular devuelve un arreglo en donde cada valor corresponde a la porción separada: REGEX_SPLIT_TO_ARRAY
La forma de usarla fue la siguiente:
SELECT REGEXP_SPLIT_TO_ARRAY(cadena_aleatoria) AS resultados FROM tabla;
Y devolvía algo así (un arreglo):
{h7k,3,mgp,72mdpw,8,d}
Pero esas no eran filas, eran una sola fila con un arreglo. Entonces busqué la forma de convertir ese arreglo en filas.
Por cierto, la expresión regular es [aeiou], lo que significa que coincidirá cada que encuentre cualquier valor de los que están en el conjunto.
Para ello utilicé la función UNNEST, que expande los elementos de un arreglo a filas. Por lo que si el arreglo era {h7k,3,mgp,72mdpw,8,d}, al llamar a esta función se convertía en:
h7k 3 mgp 72mdpw 8 d
La consulta quedó así al final:
SELECT UNNEST(REGEXP_SPLIT_TO_ARRAY(cadena_aleatoria, '[aeiou]')) AS resultados FROM tabla;
Después de haber mandado esa solución que ya he expuesto, vi la que implementaba las mejores prácticas. Y era casi una combinación de ambas funciones: REGEXP_SPLIT_TO_TABLE
Como su nombre lo dice, separa en filas de acuerdo a una expresión regular.
Siempre se aprenden cosas nuevas, y qué mejor que en codewars, en donde miles de expertos y no tan expertos califican y comparten las soluciones de las pruebas.
Por cierto, el ejercicio o kata es este.
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.