Reguläre Ausdrücke verwenden

Kotlin:
Reguläre Ausdrücke verwenden

Wie geht das:

Basisabgleich

Um zu überprüfen, ob eine Zeichenfolge in Kotlin einem bestimmten Muster entspricht, können Sie die matches Methode der Regex Klasse verwenden.

val pattern = "kotlin".toRegex()
val input = "Ich liebe kotlin"
val result = pattern.containsMatchIn(input)

println(result)  // Ausgabe: true

Finden und Extrahieren von Teilen der Zeichenfolge

Wenn Sie Teile einer Zeichenfolge finden möchten, die einem Muster entsprechen, ermöglicht es Kotlin, über alle Übereinstimmungen zu iterieren:

val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "Das heutige Datum ist 07/09/2023."
val dates = datePattern.findAll(input)

for (date in dates) {
    println(date.value)
}
// Ausgabe: 07/09/2023

Text ersetzen

Das Ersetzen von Teilen einer Zeichenfolge, die einem Muster entsprechen, ist mit der replace Funktion einfach:

val input = "Benutzername: user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")

println(sanitizedInput)  // Ausgabe: Benutzername: userXXX

Zeichenfolgen aufteilen

Teilen Sie eine Zeichenfolge in eine Liste auf, indem Sie ein Regexp-Muster als Trennzeichen verwenden:

val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())

println(numbers)  // Ausgabe: [1, 2, 3, 4, 5]

Drittanbieter-Bibliotheken: Kotest

Kotest ist eine beliebte Kotlin-Testbibliothek, die die integrierte Regex-Unterstützung von Kotlin erweitert, besonders nützlich für die Validierung in Testfällen.

// Vorausgesetzt, Kotest ist Ihrem Projekt hinzugefügt
import io.kotest.matchers.string.shouldMatch

val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()

// Dies wird den Test bestehen lassen, wenn die Eingabe dem E-Mail-Muster entspricht.

Indem Sie reguläre Ausdrücke in Ihre Kotlin-Anwendungen integrieren, können Sie anspruchsvolle Textverarbeitungsaufgaben effizient durchführen. Ob Sie Benutzereingaben validieren, Daten extrahieren oder Zeichenfolgen transformieren, Regex-Muster bieten eine robuste Lösung.