Korzystanie z wyrażeń regularnych

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.