Функция replace
Функция replace выполняет замену всех вхождений
указанной подстроки или символа на новую подстроку
в исходной строке. Возвращает новую строку с выполненными
заменами. Исходная строка при этом не изменяется.
Синтаксис
fun String.replace(
oldValue: String,
newValue: String,
ignoreCase: Boolean = false
): String
fun String.replace(
oldChar: Char,
newChar: Char,
ignoreCase: Boolean = false
): String
fun String.replace(
regex: Regex,
replacement: String
): String
fun String.replace(
regex: Regex,
transform: (MatchResult) -> CharSequence
): String
Пример
Заменим все вхождения символа 'a' на 'b':
val str = "abcdea"
val res = str.replace('a', 'b')
println(res)
Результат выполнения кода:
String "bbcdeb"
Пример
Заменим все вхождения подстроки "cd" на "XY":
val str = "abcdeacd"
val res = str.replace("cd", "XY")
println(res)
Результат выполнения кода:
String "abXYeaXY"
Пример
Заменим все вхождения с игнорированием регистра:
val str = "aBcDeAbC"
val res = str.replace("abc", "XYZ", true)
println(res)
Результат выполнения кода:
String "XYZDeXYZ"
Пример
Использование регулярного выражения для замены всех цифр:
val str = "a1b2c3d4e5"
val res = str.replace(Regex("\\d"), "X")
println(res)
Результат выполнения кода:
String "aXbXcXdXeX"
Пример
Использование функции преобразования с регулярным выражением:
val str = "a1b22c333d4444"
val res = str.replace(Regex("\\d+")) { match ->
"[" + match.value.length + "]"
}
println(res)
Результат выполнения кода:
String "a[1]b[2]c[3]d[4]"
Смотрите также
-
функцию
replaceFirst,
которая заменяет только первое вхождение -
функцию
replaceRange,
которая заменяет указанный диапазон символов -
функцию
replaceBefore,
которая заменяет часть строки до первого вхождения разделителя -
функцию
replaceAfter,
которая заменяет часть строки после первого вхождения разделителя