Kotlin:
Utilizzo delle espressioni regolari
Come fare:
Corrispondenza di base
Per verificare se una stringa corrisponde a un modello specifico in Kotlin, puoi usare il metodo matches
della classe Regex
.
val pattern = "kotlin".toRegex()
val input = "I love kotlin"
val result = pattern.containsMatchIn(input)
println(result) // Output: true
Trovare ed Estratte Parti di Stringa
Se vuoi trovare parti di una stringa che corrispondono a un modello, Kotlin ti permette di iterare su tutte le corrispondenze:
val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "La data di oggi è 07/09/2023."
val dates = datePattern.findAll(input)
for (date in dates) {
println(date.value)
}
// Output: 07/09/2023
Sostituire il Testo
Sostituire parti di una stringa che corrispondono a un modello è semplice con la funzione replace
:
val input = "Username: user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")
println(sanitizedInput) // Output: Username: userXXX
Dividere le Stringhe
Dividi una stringa in un elenco, usando un modello regex come delimitatore:
val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())
println(numbers) // Output: [1, 2, 3, 4, 5]
Librerie di terze parti: Kotest
Kotest è una popolare libreria di testing per Kotlin che estende il supporto regex integrato di Kotlin, particolarmente utile per la validazione nei casi di test.
// Supponendo che Kotest sia aggiunto al tuo progetto
import io.kotest.matchers.string.shouldMatch
val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()
// Questo supererà il test se l'input corrisponde al modello di email.
Incorporando le espressioni regolari nelle tue applicazioni Kotlin, puoi eseguire l’elaborazione del testo in modo sofisticato ed efficiente. Che tu stia convalidando l’input dell’utente, estraendo dati o trasformando stringhe, i modelli regex offrono una soluzione robusta.