Kotlin:
Utilisation des expressions régulières
Comment faire :
Correspondance de base
Pour vérifier si une chaîne correspond à un motif spécifique en Kotlin, vous pouvez utiliser la méthode matches
de la classe Regex
.
val pattern = "kotlin".toRegex()
val input = "I love kotlin"
val result = pattern.containsMatchIn(input)
println(result) // Sortie : true
Trouver et extraire des parties de la chaîne
Si vous souhaitez trouver des parties d’une chaîne qui correspondent à un motif, Kotlin vous permet d’itérer sur toutes les correspondances :
val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "La date d'aujourd'hui est le 07/09/2023."
val dates = datePattern.findAll(input)
for (date in dates) {
println(date.value)
}
// Sortie : 07/09/2023
Remplacer du texte
Remplacer des parties d’une chaîne qui correspondent à un motif est simple avec la fonction replace
:
val input = "Nom d'utilisateur : user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")
println(sanitizedInput) // Sortie : Nom d'utilisateur : userXXX
Fractionner des chaînes
Fractionner une chaîne en une liste, en utilisant un motif regex comme délimiteur :
val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())
println(numbers) // Sortie : [1, 2, 3, 4, 5]
Bibliothèques tierces : Kotest
Kotest est une bibliothèque de tests Kotlin populaire qui étend le support des regex intégré de Kotlin, particulièrement utile pour la validation dans les cas de test.
// En supposant que Kotest est ajouté à votre projet
import io.kotest.matchers.string.shouldMatch
val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()
// Cela passera le test si l'entrée correspond au motif de courriel.
En intégrant les expressions régulières dans vos applications Kotlin, vous pouvez effectuer un traitement de texte sophistiqué de manière efficace. Que vous validiez des entrées utilisateur, extrayiez des données ou transformiez des chaînes, les motifs regex offrent une solution robuste.