Kotlin:
Usando expresiones regulares
Cómo:
Coincidencia Básica
Para verificar si una cadena coincide con un patrón específico en Kotlin, puedes usar el método matches
de la clase Regex
.
val pattern = "kotlin".toRegex()
val input = "I love kotlin"
val result = pattern.containsMatchIn(input)
println(result) // Salida: true
Encontrando y Extrayendo Partes de una Cadena
Si quieres encontrar partes de una cadena que coincidan con un patrón, Kotlin te permite iterar sobre todas las coincidencias:
val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "La fecha de hoy es 07/09/2023."
val dates = datePattern.findAll(input)
for (date in dates) {
println(date.value)
}
// Salida: 07/09/2023
Reemplazando Texto
Reemplazar partes de una cadena que coinciden con un patrón es sencillo con la función replace
:
val input = "Username: user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")
println(sanitizedInput) // Salida: Username: userXXX
Dividiendo Cadenas
Divide una cadena en una lista, utilizando un patrón regex como delimitador:
val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())
println(numbers) // Salida: [1, 2, 3, 4, 5]
Bibliotecas de Terceros: Kotest
Kotest es una librería popular de pruebas para Kotlin que extiende el soporte integrado de regex de Kotlin, particularmente útil para la validación en casos de prueba.
// Asumiendo que Kotest está añadido a tu proyecto
import io.kotest.matchers.string.shouldMatch
val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()
// Esto pasará la prueba si la entrada coincide con el patrón de correo electrónico.
Al incorporar expresiones regulares en tus aplicaciones Kotlin, puedes realizar el procesamiento de texto sofisticado de manera eficiente. Ya sea que estés validando la entrada del usuario, extrayendo datos o transformando cadenas, los patrones regex ofrecen una solución robusta.