Kotlin:
Usando expressões regulares
Como Fazer:
Correspondência Básica
Para verificar se uma string corresponde a um padrão específico em Kotlin, você pode usar o método matches
da classe Regex
.
val pattern = "kotlin".toRegex()
val input = "Eu amo kotlin"
val result = pattern.containsMatchIn(input)
println(result) // Saída: true
Encontrando e Extraindo Partes da String
Se você deseja encontrar partes de uma string que correspondam a um padrão, em Kotlin, você pode iterar sobre todas as correspondências:
val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "A data de hoje é 07/09/2023."
val dates = datePattern.findAll(input)
for (date in dates) {
println(date.value)
}
// Saída: 07/09/2023
Substituindo Texto
Substituir partes de uma string que correspondem a um padrão é simples com a função replace
:
val input = "Nome do usuário: usuario123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")
println(sanitizedInput) // Saída: Nome do usuário: usuarioXXX
Dividindo Strings
Divida uma string em uma lista, usando um padrão regex como delimitador:
val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())
println(numbers) // Saída: [1, 2, 3, 4, 5]
Bibliotecas de Terceiros: Kotest
Kotest é uma biblioteca de testes Kotlin popular que estende o suporte regex integrado de Kotlin, particularmente útil para validação em casos de teste.
// Assumindo que o Kotest foi adicionado ao seu projeto
import io.kotest.matchers.string.shouldMatch
val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()
// Isso passará no teste se a entrada corresponder ao padrão de email.
Ao incorporar expressões regulares em suas aplicações Kotlin, você pode realizar processamento de texto sofisticado de forma eficiente. Seja validando entrada de usuário, extraindo dados ou transformando strings, padrões regex oferecem uma solução robusta.