replace First
Требования к платформе и версии: Common (1.0), JS (1.1), Native (1.3), Wasm-JS (1.8), Wasm-WASI (1.8)
expect fun replaceFirst(input: CharSequence, replacement: String): String
Заменяет первое вхождение этого регулярного выражения в указанной строке input выражением replacement.
Строка замены может содержать ссылки на группы, захваченные при сопоставлении. Вхождения ${name} или $index в строке замены будут заменены соответствующими подстроками захваченных групп с указанным именем или индексом. В случае $index первая цифра после '$' всегда рассматривается как часть ссылки на группу. Последующие цифры включаются в index, только если вместе они образуют допустимую ссылку на группу. В качестве потенциальных компонентов ссылки на группу рассматриваются только цифры '0'..'9'. Обратите внимание, что индексы захваченных групп начинаются с 1, а группа с индексом 0 — это совпадение целиком. В случае ${name} name может состоять из латинских букв 'a'..'z' и 'A'..'Z' или цифр '0'..'9'. Первый символ должен быть буквой.
Обратную косую черту '\' можно использовать, чтобы включить следующий за ней символ в строку замены как литерал, например, \$ или \\. Regex.escapeReplacement можно использовать, если replacement нужно трактовать как строку-литерал.
Возвращает
результат замены первого вхождения этого регулярного выражения в input результатом вычисления выражения replacement
Параметры
последовательность символов, в которой нужно найти совпадение с этим регулярным выражением
выражение, которым нужно заменить найденное совпадение
Исключения
если выражение replacement имеет некорректный формат или не существует захватывающая группа с указанным name или index
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val text = "The events are on 15-09-2024 and 16-10-2024."
// Regex to match dates in dd-mm-yyyy format
val dateRegex = "(?<day>\\d{2})-(?<month>\\d{2})-(?<year>\\d{4})".toRegex()
// Replacement expression that puts day, month and year values in the ISO 8601 recommended yyyy-mm-dd format
val replacement = "\${year}-\${month}-\${day}"
// Replacing the first occurrence of a date from dd-mm-yyyy to yyyy-mm-dd format
println(dateRegex.replaceFirst(text, replacement)) // The events are on 2024-09-15 and 16-10-2024.
// One can also reference the matched groups by index
println(dateRegex.replaceFirst(text, "$3-$2-$1")) // The events are on 2024-09-15 and 16-10-2024.
// Using a backslash to include the special character '$' as a literal in the result
println(dateRegex.replaceFirst(text, "$3-\\$2-$1")) // The events are on 2024-\$2-15 and 16-10-2024.
//sampleEnd
}
Требования к платформе и версии: JVM (1.0)
actual fun replaceFirst(input: CharSequence, replacement: String): String
Заменяет первое вхождение этого регулярного выражения в указанной строке input выражением replacement.
Строка замены может содержать ссылки на группы, захваченные при сопоставлении. Вхождения ${name} или $index в строке замены будут заменены соответствующими подстроками захваченных групп с указанным именем или индексом. В случае $index первая цифра после '$' всегда рассматривается как часть ссылки на группу. Последующие цифры включаются в index, только если вместе они образуют допустимую ссылку на группу. В качестве потенциальных компонентов ссылки на группу рассматриваются только цифры '0'..'9'. Обратите внимание, что индексы захваченных групп начинаются с 1, а группа с индексом 0 — это совпадение целиком. В случае ${name} name может состоять из латинских букв 'a'..'z' и 'A'..'Z' или цифр '0'..'9'. Первый символ должен быть буквой.
Обратную косую черту '\' можно использовать, чтобы включить следующий за ней символ в строку замены как литерал, например, \$ или \\. Regex.escapeReplacement можно использовать, если replacement нужно трактовать как строку-литерал.
Обратите внимание, что именованные захватывающие группы поддерживаются в Java 7 и более поздних версиях.
Возвращает
результат замены первого вхождения этого регулярного выражения в input результатом вычисления выражения replacement
Параметры
последовательность символов, в которой нужно найти совпадение с этим регулярным выражением
выражение, которым нужно заменить найденное совпадение
Исключения
если выражение replacement имеет некорректный формат или не существует захватывающая группа с указанным name или index
Примеры
import kotlin.test.*
fun main() {
//sampleStart
val text = "The events are on 15-09-2024 and 16-10-2024."
// Regex to match dates in dd-mm-yyyy format
val dateRegex = "(?<day>\\d{2})-(?<month>\\d{2})-(?<year>\\d{4})".toRegex()
// Replacement expression that puts day, month and year values in the ISO 8601 recommended yyyy-mm-dd format
val replacement = "\${year}-\${month}-\${day}"
// Replacing the first occurrence of a date from dd-mm-yyyy to yyyy-mm-dd format
println(dateRegex.replaceFirst(text, replacement)) // The events are on 2024-09-15 and 16-10-2024.
// One can also reference the matched groups by index
println(dateRegex.replaceFirst(text, "$3-$2-$1")) // The events are on 2024-09-15 and 16-10-2024.
// Using a backslash to include the special character '$' as a literal in the result
println(dateRegex.replaceFirst(text, "$3-\\$2-$1")) // The events are on 2024-\$2-15 and 16-10-2024.
//sampleEnd
}
© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.text/-regex/replace-first.html