Функция replace
Функция replace с параметром типа Regex позволяет выполнять сложные замены в строке с использованием регулярных выражений. Это мощный инструмент для обработки текста по заданным шаблонам.
Синтаксис
fun String.replace(regex: Regex, replacement: String): String
fun String.replace(regex: Regex, transform: (MatchResult) -> CharSequence): String
Пример
Замена всех цифр в строке на подчеркивания:
val text = "a1b2c3d4"
val result = text.replace(Regex("[0-9]"), "_")
println(result) // "a_b_c_d_"
Пример
Использование групп в регулярных выражениях для сложных замен:
val date = "2023-12-25"
val result = date.replace(Regex("(\d{4})-(\d{2})-(\d{2})"), "..")
println(result) // "25.12.2023"
Пример
Замена всех вариантов слова без учета регистра:
val text = "Hello HELLO hello HeLlO"
val result = text.replace(Regex("hello", RegexOption.IGNORE_CASE), "Hi")
println(result) // "Hi Hi Hi Hi"
Пример
Удаление всех знаков препинания из текста:
val text = "Hello, world! How are you?"
val result = text.replace(Regex("[.,!?]"), "")
println(result) // "Hello world How are you"
Пример
Использование лямбда-функции для сложной логики замены:
val 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,
которая разделяет строку по регулярному выражению