Поиск и замена текста

Kotlin:
Поиск и замена текста

Как это делается:

Kotlin упрощает манипуляции с текстом через свою стандартную библиотеку. Ниже показано, как использовать replace для замены слов.

fun main() {
    val originalText = "Kotlin — это весело, Kotlin — это прагматично!"
    val newText = originalText.replace("прагматично", "круто")

    println(newText) // Вывод: Kotlin — это весело, Kotlin — это круто!
}

Для регулярных выражений:

fun main() {
    val regex = "Kotlin".toRegex()
    val originalText = "Kotlin — это весело, Kotlin — это прагматично!"
    val newText = regex.replace(originalText, "Java")

    println(newText) // Вывод: Java — это весело, Java — это прагматично!
}

Углубляемся

Перезапись текста существует столько же, сколько и печать, но в программировании она получила распространение с появлением первых текстовых процессоров. Альтернативы? Конечно – функции поиска и замены в редакторах, командные инструменты вроде sed. В Kotlin, в частности, в вашем распоряжении находятся методы регулярных выражений и обычные строковые методы.

replace подходит для простого текста; Regex предоставляет вам швейцарский нож для работы с шаблонами. Регулярные выражения мощные, но сложнее в использовании – они используют специальный синтаксис для сопоставления с образцом. Можно думать о регулярных выражениях как об игре “Найди Валдо”, но правила того, что Валдо носит, вы составляете сами.

Проблемы реализации? Помните, что строка в Kotlin (String) неизменяема. Методы, изменяющие текст, возвращают новые строки; они не изменяют исходную.

Смотрите также