Функция replace

Функция replace выполняет замену всех вхождений указанной подстроки или символа на новую подстроку в исходной строке. Возвращает новую строку с выполненными заменами. Исходная строка при этом не изменяется.

Синтаксис

kotlinfun String.replace(
  oldValue: String, 
  newValue: String, 
  ignoreCase: Boolean = false
): String
kotlinfun String.replace(
  oldChar: Char, 
  newChar: Char, 
  ignoreCase: Boolean = false
): String
kotlinfun String.replace(
  regex: Regex, 
  replacement: String
): String
kotlinfun String.replace(
  regex: Regex, 
  transform: (MatchResult) -> CharSequence
): String

Пример

Заменим все вхождения символа 'a' на 'b':

kotlinval str = "abcdea"
val res = str.replace('a', 'b')
println(res)

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

kotlinString "bbcdeb"

Пример

Заменим все вхождения подстроки "cd" на "XY":

kotlinval str = "abcdeacd"
val res = str.replace("cd", "XY")
println(res)

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

kotlinString "abXYeaXY"

Пример

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

kotlinval str = "aBcDeAbC"
val res = str.replace("abc", "XYZ", true)
println(res)

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

kotlinString "XYZDeXYZ"

Пример

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

kotlinval str = "a1b2c3d4e5"
val res = str.replace(Regex("\\d"), "X")
println(res)

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

kotlinString "aXbXcXdXeX"

Пример

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

kotlinval str = "a1b22c333d4444"
val res = str.replace(Regex("\\d+")) { match ->
  "[" + match.value.length + "]"
}
println(res)

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

kotlinString "a[1]b[2]c[3]d[4]"

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

  • функцию replaceFirst,
    которая заменяет только первое вхождение
  • функцию replaceRange,
    которая заменяет указанный диапазон символов
  • функцию replaceBefore,
    которая заменяет часть строки до первого вхождения разделителя
  • функцию replaceAfter,
    которая заменяет часть строки после первого вхождения разделителя