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

Функция replaceFirst

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

Синтаксис

fun String.replaceFirst(regex: Regex, replacement: String): String
fun String.replaceFirst( regex: Regex, transform: (MatchResult) -> CharSequence ): String

Пример

Замена только первого совпадения цифр в строке:

val text = "abc123def456" val result = text.replaceFirst(Regex("\\d+"), "NUM") println(result) // "abcNUMdef456"

Пример

Замена первого вхождения даты с изменением формата:

val text = "Date: 2023-12-25, Another: 2024-01-01" val result = text.replaceFirst(Regex("(\\d{4})-(\\d{2})-(\\d{2})"), "$3.$2.$1") println(result) // "Date: 25.12.2023, Another: 2024-01-01"

Пример

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

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

Пример

Замена только первого вхождения слова без учета регистра:

val text = "HELLO world hello everyone" val result = text.replaceFirst( Regex("hello", RegexOption.IGNORE_CASE), "Hi" ) println(result) // "Hi world hello everyone"

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

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