Kotlin:
Використання регулярних виразів
Як це зробити:
Базове зіставлення
Щоб перевірити, чи відповідає рядок певному шаблону в Kotlin, можна скористатися методом matches
класу Regex
.
val pattern = "kotlin".toRegex()
val input = "I love kotlin"
val result = pattern.containsMatchIn(input)
println(result) // Вивід: true
Знаходження та видобування частин рядка
Якщо ви хочете знайти частини рядка, які відповідають шаблону, Kotlin дозволяє ітерувати по всім відповідностям:
val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "Сьогоднішня дата 07/09/2023."
val dates = datePattern.findAll(input)
for (date in dates) {
println(date.value)
}
// Вивід: 07/09/2023
Заміна тексту
Замінити частини рядка, які відповідають певному шаблону, легко з функцією replace
:
val input = "Username: user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")
println(sanitizedInput) // Вивід: Username: userXXX
Розбиття рядків
Розбийте рядок на список, використовуючи шаблон regex як роздільник:
val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())
println(numbers) // Вивід: [1, 2, 3, 4, 5]
Бібліотеки сторонніх розробників: Kotest
Kotest — популярна бібліотека тестування для Kotlin, яка розширює вбудовану підтримку regex в Kotlin, особливо корисна для валідації у тестових випадках.
// Припускаючи, що Kotest додано до вашого проекту
import io.kotest.matchers.string.shouldMatch
val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()
// Це пройде тест, якщо вхідні дані відповідають шаблону електронної пошти.
Інтегруючи регулярні вирази у свої додатки Kotlin, ви можете ефективно виконувати складну обробку тексту. Незалежно від того, чи валідуєте ви вхідні дані користувача, видобуваєте дані або перетворюєте рядки, шаблони regex пропонують надійне рішення.