Kotlin:
Korzystanie z wyrażeń regularnych
Jak to zrobić:
Podstawowe Dopasowywanie
Aby sprawdzić, czy ciąg znaków pasuje do określonego wzorca w Kotlinie, można użyć metody matches
klasy Regex
.
val pattern = "kotlin".toRegex()
val input = "Kocham kotlin"
val result = pattern.containsMatchIn(input)
println(result) // Wynik: true
Znajdowanie i Ekstrahowanie Części Ciągu Znaków
Jeśli chcesz znaleźć części ciągu znaków, które pasują do wzorca, Kotlin pozwala iterować po wszystkich dopasowaniach:
val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "Dzisiejsza data to 07/09/2023."
val dates = datePattern.findAll(input)
for (date in dates) {
println(date.value)
}
// Wynik: 07/09/2023
Zastępowanie Tekstu
Zastępowanie części ciągu znaków, które pasują do wzorca, jest proste dzięki funkcji replace
:
val input = "Nazwa użytkownika: user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")
println(sanitizedInput) // Wynik: Nazwa użytkownika: userXXX
Dzielenie Ciągów Znaków
Podzielenie ciągu znaków na listę, używając wzorca regex jako delimitera:
val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())
println(numbers) // Wynik: [1, 2, 3, 4, 5]
Biblioteki Stron Trzecich: Kotest
Kotest to popularna biblioteka testująca Kotlin, która rozszerza wbudowane wsparcie dla regex w Kotlinie, szczególnie przydatne do walidacji w przypadkach testowych.
// Zakładając, że Kotest został dodany do twojego projektu
import io.kotest.matchers.string.shouldMatch
val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()
// Test zostanie zaliczony, jeśli input pasuje do wzorca e-mail.
Inkorporując wyrażenia regularne w swoje aplikacje Kotlin, możesz efektywnie wykonywać zaawansowane przetwarzanie tekstu. Niezależnie od tego, czy walidujesz dane wejściowe użytkownika, ekstrahujesz dane, czy transformujesz ciągi znaków, wzorce regex oferują solidne rozwiązanie.