НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
539 of 1310 menu

Функция replaceAll

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

Синтаксис

fun Regex.replaceAll( input: CharSequence, replacement: String ): String
fun Regex.replaceAll( input: CharSequence, transform: (MatchResult) -> CharSequence ): String

Пример

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

val text = "Order 123, Price 45.67, Count 8" val regex = Regex("\d+") val result = regex.replaceAll(text, "_") println(result)

Результат выполнения кода:

String "Order _, Price _._, Count _"

Пример

Использование функции преобразования для динамической замены найденных чисел:

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

Результат выполнения кода:

String "10 apples, 6 oranges, 20 bananas"

Пример

Удаление всех пробельных символов с помощью replaceAll Regex:

val text = "K o t l i n P r o g r a m m i n g" val regex = Regex("\s+") val result = regex.replaceAll(text, "") println(result)

Результат выполнения кода:

String "KotlinProgramming"

Пример

Замена всех email-адресов в тексте на маскированную версию:

val text = "Contact: john@example.com or mary@test.org" val regex = Regex("[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}") val result = regex.replaceAll(text) { match -> val email = match.value val parts = email.split("@") parts[0].take(2) + "***@" + parts[1] } println(result)

Результат выполнения кода:

String "Contact: jo***@example.com or ma***@test.org"

Пример

Замена всех дат в формате YYYY-MM-DD на DD.MM.YYYY с использованием групп:

val text = "Dates: 2023-12-25, 2024-01-01, 2024-05-15" val regex = Regex("(\d{4})-(\d{2})-(\d{2})") val result = regex.replaceAll(text, "..") println(result)

Результат выполнения кода:

String "Dates: 25.12.2023, 01.01.2024, 15.05.2024"

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

  • функцию replace,
    которая работает аналогично, но применяется с строке
  • функцию replaceFirst,
    которая заменяет только первое совпадение регулярного выражения
  • функцию matches,
    которая проверяет полное соответствие строки регулярному выражению
  • функцию split,
    которая разделяет строку по регулярному выражению
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить