Функция replace

Функция replace с параметром типа Regex позволяет выполнять сложные замены в строке с использованием регулярных выражений. Это мощный инструмент для обработки текста по заданным шаблонам.

Синтаксис

kotlinfun String.replace(regex: Regex, replacement: String): String
kotlinfun String.replace(regex: Regex, transform: (MatchResult) -> CharSequence): String

Пример

Замена всех цифр в строке на подчеркивания:

kotlinval text = "a1b2c3d4"
val result = text.replace(Regex("[0-9]"), "_")
println(result) // "a_b_c_d_"

Пример

Использование групп в регулярных выражениях для сложных замен:

kotlinval date = "2023-12-25"
val result = date.replace(Regex("(\d{4})-(\d{2})-(\d{2})"), "..")
println(result) // "25.12.2023"

Пример

Замена всех вариантов слова без учета регистра:

kotlinval text = "Hello HELLO hello HeLlO"
val result = text.replace(Regex("hello", RegexOption.IGNORE_CASE), "Hi")
println(result) // "Hi Hi Hi Hi"

Пример

Удаление всех знаков препинания из текста:

kotlinval text = "Hello, world! How are you?"
val result = text.replace(Regex("[.,!?]"), "")
println(result) // "Hello world How are you"

Пример

Использование лямбда-функции для сложной логики замены:

kotlinval text = "5 apples, 3 oranges, 2 bananas"
val result = text.replace(Regex("\d+")) { match ->
  (match.value.toInt() * 2).toString()
}
println(result) // "10 apples, 6 oranges, 4 bananas"

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

  • класс Regex,
    для работы с регулярными выражениями
  • функцию replaceFirst,
    которая заменяет только первое вхождение
  • функцию matches,
    которая проверяет соответствие строки регулярному выражению
  • функцию split,
    которая разделяет строку по регулярному выражению