코틀린/[Mapping] 매핑 작업
[Kotlin][String] replace
jinwo_o
2024. 8. 27. 09:57
모든 oldChar 가 newChar 로 대체된 새 문자열을 반환합니다.
public actual fun String.replace(oldValue: String, newValue: String, ignoreCase: Boolean = false): String {
run {
var occurrenceIndex: Int = indexOf(oldValue, 0, ignoreCase)
// FAST PATH: no match
if (occurrenceIndex < 0) return this
val oldValueLength = oldValue.length
val searchStep = oldValueLength.coerceAtLeast(1)
val newLengthHint = length - oldValueLength + newValue.length
if (newLengthHint < 0) throw OutOfMemoryError()
val stringBuilder = StringBuilder(newLengthHint)
var i = 0
do {
stringBuilder.append(this, i, occurrenceIndex).append(newValue)
i = occurrenceIndex + oldValueLength
if (occurrenceIndex >= length) break
occurrenceIndex = indexOf(oldValue, occurrenceIndex + searchStep, ignoreCase)
} while (occurrenceIndex > 0)
return stringBuilder.append(this, i, length).toString()
}
}
val inputString0 = "Mississippi"
val inputString1 = "Insufficient data for meaningful answer."
println(inputString0.replace('s', 'z')) // Mizzizzippi
println(inputString1.replace("data", "information")) // Insufficient information for meaningful answer.
replace - Kotlin Programming Language
kotlinlang.org